文章标题
2016-01-05 10:10
387 查看
步骤
自定义属性的声明文件
自定义View类
布局文件中使用
AttributeSet与TypedArray
declare-styleable
自定义一个CustomView(extends View )类 编写values/attrs.xml,在其中编写styleable和item等标签元素 在布局文件中CustomView使用自定义的属性(注意namespace) 在CustomView的构造方法中通过TypedArray获取
自定义属性的声明文件
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="test"> <attr name="text" format="string" /> <attr name="testAttr" format="integer" /> </declare-styleable> </resources>
自定义View类
public class MyView extends View { private static final String TAG = MyTextView.class.getSimpleName(); public MyView(Context context, AttributeSet attrs) { super(context, attrs); TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.test); String text = ta.getString(R.styleable.test_testAttr); int textAttr = ta.getInteger(R.styleable.test_text, -1); Log.e(TAG, "text = " + text + " , textAttr = " + textAttr); ta.recycle(); } }
布局文件中使用
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:zhy="http://schemas.android.com/apk/res/com.example.test" android:layout_width="match_parent" android:layout_height="match_parent" > <com.example.test.MyView android:layout_width="100dp" android:layout_height="200dp" zhy:testAttr="520" zhy:text="helloworld" /> </RelativeLayout>
AttributeSet与TypedArray
>>use AttributeSet(获取到的是资源文件id) attrName = testAttr , attrVal = 520 >>use typedarray(简化过程,直接获取value) : text = Hello world! , textAttr = 520
declare-styleable
<declare-styleable name="test"> <attr name="android:text" />(使用Android已有的属性) <attr name="testAttr" format="integer" />(自定义的属性) </declare-styleable>
相关文章推荐
- 云计算技术的最新进展与实践
- 新手自定义view练习实例之(二) 波浪view
- 新手自定义view练习实例之(二) 波浪view
- 实时显示输入信息
- ipyparallel 中的 pi的求法
- 新浪SAE中如何使用smarty模板
- Aptana插件版Zip包下载方法
- 如何智能的等待页面加载完成
- 闪屏情况处理
- android中的广播接收实现总结 and Android 广播大全
- 设置物体的隐藏与显示
- 如何智能的等待页面加载完成
- 记录---base64
- [self.window miniaturize:nil]缩小 再放大后 输入框失去焦点
- 基础算法8:提取出输入字符串中的域名或IP字符串
- linux上检测代码性能以及内存泄露
- Android退出应用最优雅的方式(改进版)
- Android夜间模式最佳实践
- XML操作
- TCP/IP小纪