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的主要内容,如果未能解决你的问题,请参考以下文章

Tablayout+view 寻呼机未在位置 0 显示片段

android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错

自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,"掏粪男孩Gif"顺便再提提onWindowFocusChanged)(代码片段

片段类中的 View.findViewById

片段无法加载到 View_pager tabLayout [重复]

如何将字符串数据从活动发送到片段?