安卓自定义控件属性
2017-11-18 本文已影响5人
小怪兽大作战
作者:刘衍
【嵌牛导读】:通过几个简单的步骤,来自定义控件的属性
【嵌牛鼻子】:android attr AttributeSet xml
【嵌牛提问】:如何自定义控件属性?
【嵌牛正文】:
我们在使用安卓中一系列控件时可以根据需要设置一些控件,如长、宽、背景资源、字体大小等。如下图所示。
其实我们完全可以根据自己的需要自定义控件,自定义控件的属性。大致分为3个步骤。
1.创建attrs.xml资源文件:
在attr.xml中定义控件需要的属性。
首先定义name为test,然后定义了两个属性:TextColor 和TextSize。属性类型为color(颜色)和dimension(尺寸)。除此之外还可以定义很多类型:reference、string、color、dimension、boolean、integer、float、fraction、enum、flag。
2.在自定义类里引用attrs文件里定义的属性为自己的属性设置值
我定义了一个MyView类继承了View类。首先定义了一个Paint实例,用于绘制图形;定义了Context,用于确定上下文。
然后再构造函数中初始化,获取TypedArray(属性集合,包含attrs中定义的属性)。然后将获取到的属性赋给Paint类。然后重写View中的onDraw方法,在该方法中绘制图形。
3.在布局文件中使用自定义的控件
首先定义名字空间。
xmlns:Myapp="http://schemas.android.com/apk/res/com.tinymonster.clockword"
然后使用之前定义好的图像类MyView
这样,就完成了自定义控件和其属性并使用自定义控件了。