Android 自定义View之路——Paint
来源:互联网 发布:沸点网络电视 编辑:程序博客网 时间:2024/06/04 18:46
从今天开始正式写一下有关于自定义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
- Android 自定义View之路——Paint
- Android自定义View——Paint之Xfermode
- 【Paint】Android 自定义View之Paint篇(更新中...)
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- 自定义View之Paint
- Android View — Paint 详解
- 自定义View笔记——Paint
- 自定义view—绘图基础Canvas+Paint
- android 自定义View之 Paint类的介绍
- Servlet中Filter详解及demo
- cocos creator shader用法
- Android-安装APK的代码
- PowerDesinger生成mysql语句
- 关于SetInterval(code,time)的第一个参数的几种用法详解
- Android 自定义View之路——Paint
- chrome不支持jqgrid表格按返回数据顺序显示的解决办法
- Handler、Looper、MessageQueue源码分析
- Android的MediaPlayer错误
- 百度地图鹰眼轨迹---乱码问题
- AndroidStudio插件
- Vmware VMware 锁定文件失败 开启模块 diskearly 的操作失败 未能启动虚拟机
- A. Array
- 体外诊断(POCT)之软件介绍