View CanvasPaint
Posted 懂你在爱我
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了View CanvasPaint相关的知识,希望对你有一定的参考价值。
View:视图,每一个view都有一个用于绘图的画布,这个画布可以任意的扩展。在android中,任何一个view都需要重写onDraw()方法来实现。
Canvas:画布,利用Canvas可画出(点、直线、圆、椭圆、矩形、文字)
Paint:画笔 代表了Canvas上的画笔,画刷、颜料等。
如果paint是笔,那么canvas是笔记本,view是桌子。
绘制点、圆等实例:(先创建一个类来继承view类,然后重写onDraw方法,然后在活动中加载)
public class MyView extends View { //实例化三个画笔 private Paint mPaint1 = new Paint(); private Paint mPaint2 = new Paint(); private Paint mPaint3 = new Paint(); public MyView(Context context) { super(context); //设置画笔的颜色,粗细 mPaint1.setColor(Color.BLUE); mPaint1.setStrokeWidth(4); mPaint2.setColor(Color.RED); //设置画笔字体大小 mPaint3.setTextSize(30); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画布的颜色 canvas.drawColor(Color.WHITE); //画直线 canvas.drawLine(10,50,100,50,mPaint1); //画点 canvas.drawPoint(50,100,mPaint1); //绘制圆 canvas.drawCircle(200,200,60,mPaint2); //绘制矩形 canvas.drawRect(50,50,200,100,mPaint2); //绘制文字 canvas.drawText("绘制的文字",20,300,mPaint3); } }
活动代码:
public class Four extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MyView(this)); } }
以上是关于View CanvasPaint的主要内容,如果未能解决你的问题,请参考以下文章
android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错
自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,"掏粪男孩Gif"顺便再提提onWindowFocusChanged)(代码片段