Android SDK有很多标准的视图,如按钮、TextView和图片等等。当我们遇到特殊的需求时(例如一个饼图或圆环图),就需要创建自定义视图。本章的目的是来展示如何创建一个简单的自定义视图,绘制视图的形状,给它一个漂亮的外观。
问题:
- 如何创建新的自定义视图?
- 如何定义自定义视图的属性?
- 如何画在画布上?
(1)创建一个新的Android项目
- Application Name: Simple Custom View
- Project Name: android-custom-view
- Package Name: com.zhaolei.views
(2)创建一个自定义视图
在创建一个自定义视图的第一个步骤是扩展基类视图,至少重写有一个重载的构造函数。
- /com/zhaolei/views/SimpleView.java
public class SimpleView extends View {
public SimpleView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
(3)定义自定义的视图属性
当添加一个视图的布局文件,设置一些属性值,如宽度、高度等等,也可以自定义其他属性。
- 在 /res/values下创建一个新的布局文件: attrs.xml,并定义shape和dim两个属性。
- /res/values/attrs.xml
<resources>
<declare-styleable name="FaceView">
<attr name="shape" format="enum">
<enum name="circle" value="0"/>
<enum name="square" value="1"/>