資源簡介
本次上傳了Android自定義中國象棋的java文件,下載后可直接使用瀏覽。在xml里面寫好運行即可。后續會繼續更新。。
代碼片段和文件信息
package?com.example.myapplication.coustom;
import?android.app.Activity;
import?android.content.Context;
import?android.graphics.BlurMaskFilter;
import?android.graphics.Canvas;
import?android.graphics.Paint;
import?android.graphics.Path;
import?android.graphics.Rect;
import?android.graphics.Typeface;
import?android.os.Build;
import?android.support.annotation.Nullable;
import?android.text.TextUtils;
import?android.util.AttributeSet;
import?android.util.Log;
import?android.view.MotionEvent;
import?android.view.View;
import?android.widget.Toast;
import?com.example.myapplication.VibrateUtil;
import?java.util.ArrayList;
import?java.util.List;
/**
?*?email:1040152329@qq.com
?*?Created?by?gold?on?2019/10/30
?*?Describe:
?**/
public?class?ChineseChessView?extends?View?{
????private?Paint?linePaint;//畫線的筆
????private?Paint?qiPaint;//棋子文子畫筆
????private?Paint?qibackPaint;//棋子背景畫筆
????private?int?lineColor=0xffEEDC82;
????private?int?redColor=0xffFFA54F;
????private?int?blockColor=0xff008B00;
????private?int?selectColor=0xff3A5FCD;
????public?ChineseChessView(Context?context)?{
????????this(contextnull);
????}
????private?int?strokeWidth=5;
????private?void?initView()?{
????????linePaint=new?Paint();
????????qibackPaint=new?Paint();
????????qiPaint=new?Paint();
????????initSetting();
????}
????private?void?initSetting()?{
????????linePaint.setAntiAlias(true);
????????linePaint.setColor(lineColor);
????????linePaint.setstyle(Paint.style.STROKE);
????????qiPaint.setAntiAlias(true);
????????qiPaint.setColor(lineColor);
????????qiPaint.setTypeface(Typeface.create(Typeface.DEFAULTTypeface.BOLD));
????????qibackPaint.setColor(0xffEEDC82);
????????qibackPaint.setstyle(Paint.style.FILL);
????????qibackPaint.setMaskFilter(new?BlurMaskFilter(20BlurMaskFilter.Blur.NORMAL));
????????qibackPaint.setAntiAlias(true);
????}
????public?ChineseChessView(Context?context?@Nullable?AttributeSet?attrs)?{
????????this(context?attrs0);
????}
????public?ChineseChessView(Context?context?@Nullable?AttributeSet?attrs?int?defstyleAttr)?{
????????super(context?attrs?defstyleAttr);
????????initView();
????}
????@Override
????protected?void?onMeasure(int?widthMeasureSpec?int?heightMeasureSpec)?{
????????super.onMeasure(widthMeasureSpec?heightMeasureSpec);
????}
????private?int?h;
????private?int?w;
????private?int?startXstartY;//起始繪制位置
????private?int?defaultPadding=50;
????private?int?hang?=?9;//行
????private?int?lie?=?8;?//列
????private?int?space;
????//存放所有位置信息?[XY0車]?依次對應?【x坐標、y坐標、紅黑方、棋子】
????private?List>?allDatas=new?ArrayList<>();
????private?List>?allDatasDefault=new?ArrayList<>();
????private?List>>?back_datas=new?ArrayList<>();//下棋落子記錄,用于悔棋時調用
????private?boolean?isInit=true;//是否第一次進來————初始化棋盤
????@Override
????protected?void?onSizeChanged(int?w?int?h?int?oldw?int?oldh)?{
????????super.onSizeChanged(w?h?oldw?old
- 上一篇:eclipse 代碼格式化模板
- 下一篇:學生管理系統簡單GUI
評論
共有 條評論