Android 自定义View之路——Paint

从今天开始正式写一下有关于自定义View的内容,虽然之前也写过一些自定义View,但是还没有做到信手拈来的程度,所以在闲暇时间把一些重要的API,必要的API都记录下来,在以后用到的时候可以翻阅看看。掌握好自定义View的技术是称为android高手的必经之路,也是很重要的一部分。(自定义View有很多种类,包括组合控件,继承ViewGroup等,这里暂时只介绍继承View 进行各种图形的绘画 onDraw()).

Paint
Paint(画笔),这个很好理解,就是绘画时候的画笔,可以设置很多属性,包括画笔的锯齿效果,画笔的颜色,字体大小,空心实心等,大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关,在onDraw() 里进行绘画的各种图形在绘画的时候都必须要传入一个Paint。

paint.setAntiAlias(true);  //在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。有时候画斜线的时候也会出现描边出现锯齿的情况,(大家画两个圆,一个带抗锯齿,一个不带抗锯齿,就能看出来不带抗锯齿的边有毛边,没有带抗锯齿的圆滑),这个方法是android自带的抗锯齿的方法。

//有些地方不能用paint的,还可以给Canvas加上抗锯齿,更方便:
canvas.setDrawFilter(new PaintFlagsDrawFilter(0,Paint.ANTI_ALIAS_FLAG| Paint.FILTER_BITMAP_FLAG));
setColor(int color); //设置画笔颜色 里面的参数可以是颜色的int值,也可以rgb,也可以是带透明度的rgb 如下:

paint.setColor(Color.RED); //这种是android自带的颜色,色值可能比较少,满足大概的颜色

paint.setColor(Color.rgb(255,0,0));  //rgb色值,这种可以跟UI沟通索要rgb色值

paint.setColor(Color.argb(50,255,0,0)); //透明度为50的rgb颜色
setColorFilter(ColorFilter colorfilter);  //设置颜色过滤器,可以在绘制颜色时实现不用颜色的变换效果  
setAlpha(int a); //设置透明度
setDither(boolean dither);  //设定是否使用图像抖动处理,会使绘制出来的图片颜色更加平滑和饱满,图像更加清晰  
setFilterBitmap(boolean filter); //如果该项设置为true,则图像在动画进行中会滤掉对Bitmap图像的优化操作,加快显示速度,本设置项依赖于dither和xfermode的设置
 setMaskFilter(MaskFilter maskfilter);  //设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等   
 setShader(Shader shader);  //设置图像效果,使用Shader可以绘制出各种渐变效果  
setStyle(Paint.Style style); //画笔的样式,Paint.Style.STROKE是空心画笔

先暂时记录这些,以后会持续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值