android view各属性详解之onDraw

开篇镇山之作,怎么镇山呢,算了,不会,那就来一点简单而又复杂的,那就是onDraw

函数,至于怎么简单,那是我解说简单,也就只简单了解。至于复制,onDraw顾名思义就是在画布上画上你想要的东西

onDraw在view和viewgroup中的调用方式是不一样的,在Viewgroup中如果你没有设置背景,就不会调用onDraw方法,在view中都会调用该方法

onDraw的基本用法

下面是画一个简单的圆

效果图:


在手机屏幕上面画东西跟你在真正的纸上画东西有点相似,画画肯定需要纸,然后需要笔,然后在手机屏幕上也有纸和笔

纸既是:Draw

笔既是:Paint

下面是Paint的一些属性

paint.setAntiAlias(true);//抗锯齿功能

paint.setColor(Color.RED);  //设置画笔颜色   

paint.setStyle(Style.FILL);//设置填充样式

paint.setStrokeWidth(30);//设置画笔宽度

paint.setShadowLayer(10, 15, 15,Color.GREEN);//设置阴影

 

void setStyle (Paint.Style style)     设置填充样式

 

Paint.Style.FILL    :填充内部

Paint.Style.FILL_AND_STROKE  :填充内部和描边

Paint.Style.STROKE  :仅描边

 

setShadowLayer (float radius, float dx,float dy, int color)    添加阴影

 

参数:

radius:阴影的倾斜度

dx:水平位移

dy:垂直位移


java代码:

 @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        //设置画笔基本属性
        Paint paint = new Paint();
        //抗锯齿功能
        paint.setAntiAlias(true);
        //设置画笔颜色
        paint.setColor(Color.RED);
        //设置填充样式   Style.FILL/Style.FILL_AND_STROKE/Style.STROKE
        paint.setStyle(Paint.Style.FILL);
        //设置画笔宽度
        paint.setStrokeWidth(5);
        //设置阴影
        paint.setShadowLayer(10, 15, 15, Color.GREEN);

        //设置画布背景颜色
        canvas.drawRGB(255, 255, 255);

        //画圆
        canvas.drawCircle(190, 200, 150, paint);


    }



下面是我参考的大神的博客:如果想要了解跟多的可以去看

Android自定义控件三部曲文章索引

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值