Android自自定定义义view之之围围棋棋动动画画效效果果的的实实现现
这篇文章主要介绍了Android自定义view之围棋动画效果的实现,本文通过实例代码给大家介绍的非常详细,对大家
的学习或工作具有一定的 考借鉴价值,需要的朋友可以 考下
前前言言
废话不多说直接开始
老规矩,文章最后有源码
完完成成效效果果图
棋棋子子加加渐变色色
棋棋子子不不加加渐变色色
一一、、测量量
1.获取取宽高高
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mWidth w;
mHeight h;
useWidth mWidth;
if (mWidth > mHeight) {
useWidth mHeight;
}
}
2.定定义测量量最最小小长度度
将布局分为10份。以minwidth的1,3,5,7,9的倍数为标准点。
minwidth useWidth / 10;
二二、、绘制制背背景景 ((棋棋盘))
1.初初始始化化画画笔笔
mPaint new Paint(); //创建画笔对象
mPaint.setColor(Color.BLACK); //设置画笔颜色
mPaint.setStyle(Paint.Style.FILL); //设置画笔模式为填充
mPaint.setStrokeWidth(4f); //设置画笔宽度为10px
mPaint.setAntiAlias(true); //设置抗锯齿
mPaint.setAlpha(255); //设置画笔透明度
2.画画棋棋盘
//细的X轴
canvas.drawLine(minwidth, 3 * minwidth, 9 * minwidth, 3 * minwidth, mPaint);// 斜线
canvas.drawLine(minwidth, 5 * minwidth, 9 * minwidth, 5 * minwidth, mPaint);// 斜线
canvas.drawLine(minwidth, 7 * minwidth, 9 * minwidth, 7 * minwidth, mPaint);// 斜线
//细的y轴
canvas.drawLine(3 * minwidth, minwidth, 3 * minwidth, 9 * minwidth, mPaint);// 斜线
canvas.drawLine(5 * minwidth, minwidth, 5 * minwidth, 9 * minwidth, mPaint);// 斜线
canvas.drawLine(7 * minwidth, minwidth, 7 * minwidth, 9 * minwidth, mPaint);// 斜线
mPaint.setStrokeWidth(8f);
//粗的X轴 (边框)
canvas.drawLine(minwidth, minwidth, 9 * minwidth, minwidth, mPaint);// 斜线
canvas.drawLine(minwidth, 9 * minwidth, 9 * minwidth, 9 * minwidth, mPaint);// 斜线
//粗的y轴 (边框)
canvas.drawLine(minwidth, minwidth, minwidth, 9 * minwidth, mPaint);// 斜线
canvas.drawLine(9 * minwidth, minwidth, 9 * minwidth, 9 * minwidth, mPaint);//