想来说说基础版自定义View的步骤:
实现自定义View的属性设置,需要:
在values目录下建立attrs.xml文件,添加属性内容
在布局文件中添加新的命名空间xmlns,然后可以使用命名空间给自定义的空间设置属性
设置完属性之后,当然还要对其进行处理。在自定义View类中的构造方法中进行处理
首先贴一段attrs的代码:
<resources>
<attr name="myTextWord" format="string" />
<attr name="myTextColor" format="color" />
<attr name="myTextSize" format="dimension" />
<declare-styleable name="MyView">
<attr name="myTextWord" />
<attr name="myTextColor" />
<attr name="myTextSize" />
</declare-styleable>
</resources>
接着是命名空间的事,这个我被eclipse坑了好久,要是studio就没有这个问题了,所以最后说,最后再写。所以我们来看一看自定
义View的代码,我就不多介绍了,因为我的注释已经做的真的很详细了,再不懂真没办法了。多的不说,贴代码:
public class MyView extends View
{ //TextView的文字设定
private String textWord;
//TextView的颜色设定
private int textColor;
//TextView的字体大小设定
private int textSize;
/**
* Paint即画笔,画笔主要保存了颜色,样式等绘制信息
* 画笔对象有很多设置方法,大体上可以分为两类。
* 一类与图形绘制相关
* 一类与文本绘制相关
*/
private Paint mPaint;
/**
* Rect类主要用于表示坐标系中的一块矩形区域,并可以对其做一些简单操作
* 这块矩形区域,需要用左上右下两个坐标点表示(left,top,right,bottom)
* 你也可以获取一个Rect实例的Width和Height
* 需要注意的一点是:
* 例如:Rect r=new Rect(100,50,300,500);
* 其实(300,500)这个点是不在矩阵区域内的,但是如果自己调用android自己的函数就没问题,因为android内部计算方式是统一的
*/
private Rect mBound;
/**
* 自定义view时肯定要覆写构造方法的,目前构造参数在5.0已经达到了四个,平时我们一般使用的其实两个就够了。
* 第一个参数属于程序内实例化采用
* 在java代码创建视图时调用,如果由xml填充的视图就不会使用这个构