android 自定义view中最重要的几个角色之一,Paint类
把自定义view比作我们平时用手画图的话,Paint 就相当于我们手中的画笔。我们对paint 的操作 ,相当于我们画画的时候,换颜色,换粗细,换样式等等 等等,所以从形象的角度去考虑这支画笔 其实很简单啦;
1 paint最最最常用
要说最最最常用就是他的一些基本方法啦;
reset();
重置画笔 ,即这个操作会把画笔之前设置的属性全改成默认 比如颜色会变成黑 色,无抗锯齿,等等;
setColor(int color):
给画笔设置颜色值 ,int color 的值大家熟悉的是#FFFFFFFF这样的值,但在代码里这样的值是不被使用的必须转过来通过什么工具类我没研究过,但是有更方便的方法。就是关于色彩的理论,带#号的颜色表示方法 其实就是32位argb的表示方案,然而 setColor中我们需要传入的值显然是这个个32位的int值,所以 现在里面我们毋庸置疑的把#改成0x其他不变就好啦;实践证明我的方法是正确的;关于色彩理论我这也讲不明白,想深入研究的可以自行百度谷歌;
setARGB(int a,int r.int g,int b);
同样是设置颜色,不过是把argb分开设置,同样的每个参数还可以用十六进制的int值来传入,比如红色 #FFFF0000 就可以传入,setARGB(0xFF,0xFF,0x00,0x00),同理也可以用十进制的来传入,setARGB(255,255,0,0)
setAlpha(int a);
设置画笔的透明度
setStyle(Paint.Style s);
设置画笔的样式, 样式取值 有三种: Paint.Style.FILL :填充内部
Paint.Style.FILL_AND_STROKE :填充内部和描边
Paint.Style.STROKE :仅描边
setStrokeWidth(float w);设置画笔描边粗细宽度
setAntAlias(boolean b);
设置是否抗锯齿
2 Paint一些有些时候有用的方法
setStrokeCap(Paint.Cap cap)
设置画笔线帽的样式 取值有三种 Cap.ROUND 圆形线帽,Cap.SQUARE 方形线帽,Cap.BUTT 无线帽
setStrokeJoin(Paint.Join j);
设置线段连接处的连接模式,取值有:Join.MITER(结合处为锐角)、Join.Round(结合处为圆弧)、Join.BEVEL(结合处为直线)
setStrokeMiter(float miter)
设置笔画的倾斜度,90度拿画笔与30拿画笔,画出来的线条样式肯定是不一样的吧。(事实证明,根本看不出来什么区别好吗……囧……)
setPathEffect(PathEffect effect)
设置路径样式;取值类型是所有派生自PathEffect的子类:ComposePathEffect, CornerPathEffect, DashPathEffect, DiscretePathEffect, PathDashPathEffect, SumPathEffect这四个函数中,setStrokeMiter(float miter)就不再讲了,我做过试验,没什么变化,也就是没啥屌用……,
3 字体相关的
setTextSize(float textSize)设置文字大小
setFakeBoldText(boolean fakeBoldText)设置是否为粗体文字
setStrikeThruText(boolean strikeThruText)设置带有删除线效果
setUnderlineText(boolean underlineText)设置下划线
setTextAlign(Paint.Align align)设置开始绘图点位置
setTextScaleX(float scaleX)水平拉伸设置
setTextSkewX(float skewX)设置字体水平倾斜度,普通斜体字是-0.25,可见往右斜
setTypeface(Typeface typeface)字体样式