• Android自定义view绘图


    一、新建一个视图类,继承自View,重写OnDraw()函数,在函数内绘图

    
    
    
    public class myView extends View {//新建一个视图类,继承自View
            myView(Context context) {
                super(context);
            }
        @Override
            protected void onDraw(Canvas canvas){
            super.onDraw(canvas);
            //在下面绘图
    
    
        
        }    

    二、Paint设置

    Paint就是我们的画笔,我们可以设置它的颜色,粗细,样式,阴影等,在绘图的时候,我们要先实例化画笔工具

    Paint paint = new Paint();

    设置画笔颜色

    paint.setColor(Color.BLUE);//设置画笔为蓝色
    

     设置画笔的样式

    paint.setStyle(Style.FILL);//填充内部

    样式有三种

    FILL:填充内部  FILL_AND_STROKE:填充内部和描边 STROKE:只描边

    默认为FILL吧,前2种看不出差别

    设置画笔宽度

    paint.setStrokeWidth(10);//宽度10

    设置阴影

    paint.setShadowLayer(8, 20, 20, Color.RED);//设置阴影

    //第一个参数是阴影的倾斜度
    //第二个参数是水平位移
    //第三个参数是垂直位移

    好吧,虽然不是很明显的样子-.-

    setTextSize(float textSize)  // 设置字体大小

    setUnderlineText(booleanunderlineText)  // 设置下划线

    三、Canvas设置

    Canvas就是画布,我们可以在上面绘图

    画布背景颜色设置

    canvas.drawColor(Color.BLUE);
    canvas.drawRGB(255, 255, 0); //两种方法

    四、图形的绘制方法

    画圆

     drawCircle (float cx, float cy, float radius, Paint paint);
      //cx:圆点的X坐标
      //cy:圆点的Y坐标
      //radius:圆点的半径
      //paint:自定义的画笔

    需要说明的是,绘制图形的坐标圆点位置是屏幕左上角,以那里为圆点

    画矩形

    Paint paint = new Paint();
    paint.setColor(Color.RED);
     // 设置样式-空心矩形
     paint.setStyle(Style.STROKE);
     // 绘制一个矩形
    canvas.drawRect(new Rect(10, 10, 100, 30), paint);//使用Rect构造
    //左上角(10,10) 右上角(100,30)

    4个点:左上右下的排列,其实就是2个坐标(10,10),(100,30)

    绘制字体

    drawText(String text, float x, floaty, Paint paint)  //渲染文本,Canvas类除了上面的还可以描绘文字,参数一是String类型的文本,参数二x轴,参数三y轴,参数四是Paint对象。

    绘制直线

    drawLine(float startX, float startY, float stopX, float stopY, Paintpaint) //画线,参数一起始点的x轴位置,参数二起始点的y轴位置,参数三终点的x轴水平位置,参数四y轴垂直位置,最后一个参数为Paint 画刷对象。

    绘制点

    drawPoint (float x, float y, Paint paint)
    //float X:点的X坐标
    //float Y:点的Y坐标

    五,把视图类添加到Activity中

    很简单,直接实例化我们的视图类myView,在用setContentView(view);

    myView mv = new myView(this);
    
    setContentView(mv);
  • 相关阅读:
    Git之不明觉厉11-利其器source tree
    GUI for git|SourceTree|入门基础
    UIButton
    NSDictionary
    注释方法、代码块加快捷键注释
    UIActionSheet
    UIActivityIndicatorView
    UIPickerView
    UIImageView
    UIAlertView
  • 原文地址:https://www.cnblogs.com/jinghuyue/p/6921218.html
Copyright © 2020-2023  润新知