Android 自定义view的知识梳理。

来源:互联网 发布:怎么进入ubuntu系统 编辑:程序博客网 时间:2024/04/29 14:32

关于越来越多的新手找不到自定义view的学习资料或者无法学会自定义view。

本篇专门讲解一下初级进阶必经之路,自定义view。。

我们先把自定义View细分一下,分为两种 
A 自定义ViewGroup 
B 自定义View

ViewGroup 就是个容器,

简单自定义我们一般采用继承特殊view或者ViewGroup 的方式。

比如做一个倒计时的Button

还有就是绘制的方式去绘制自己想要的view。

比如绘制圆角矩形作为Button背景

下面看下自定义view的步骤:

1、自定义View的属性
2、在View的构造方法中获得我们自定义的属性
3、重写onMesure 
4、重写onDraw

view的属性定义在 res/ values/  下建立一个attrs.xml文件中

<resources>     <declare-styleable name="MyView">     <attr name="textColor" format="color"/>     <attr name="textSize" format="dimension"/>     </declare-styleable> </resources>
xmlns:my=http://schemas.android.com/apk/res/com.example.xhelloworld<com.example.xhelloworld.MyView        android:layout_width="fill_parent"        android:layout_height="wrap_content"          my:textColor="#FFFFFFFF"          my:textSize="22dp"     /> 

前两部算是完成了。。。

接下来需要实现具体的MyView  类
根据需要一般采用继承特殊view或者ViewGroup 的方式。
重点强调构造函数:
如果要在布局文件中用到,还需要添加一个构造方法:
public MyView (Context context,AttributeSet attrs){
       super(context, attrs);  
    }
如果写两个参数的构造函数,就需要先实现一个参数的构造函数
public class MyView extends TextView{
// 当在代码中创建对象时会被调用
    public MyView (Context context) {
       super(context);
    }
}
这就是为什么需要这两个构造参数的原因。



时间问题先写到这,待续。。。。。





1 0
原创粉丝点击