android 自定义控件属性
2012-12-17 15:48
211 查看
android 自定义控件属性
分类: android2010-05-1212:15 1366人阅读 评论(0) 收藏 举报
Attrs.xml这个文件是用来定义控件属性的文件,结合下面例子来详细说明这个文件。
[xhtml] view
plaincopy
<resources>
<declare-styleable name="HwExControl">
<attr name="text" format="string" />
<attr name="title" format="string" />
</declare-styleable>
</resources>
<declare-styleable name="HwExControl">这行代码定义了控件的名称HwExControl;
<attr name="text" format="string" /> 这行代码定义了控件中一个属性,我不知道这个称为属性是否合适,它定义了一个字符串(format=”string”表明它是一个字符串)存在于这个控件中,有可能会显示在这个控件中,能不能显示要在java代码中予以控制或者另外在添加一个属性来控制是否显示。
下面几个就不一一介绍了,他们都是这个控件的属性。对于这些属性的format从我了解到的来看有float、string、reference、color、dimension等,其中有些format并不是Java中的基本类型,我现在还不太明白他们的用法,这个在以后的学习来补充说明。
设置完这个xml文件之后在相应的控件Java文件中需要编写如下代码来接收(不知道“接收”这个词用的是否准确^_^)xml文件设置的属性:
[java] view
plaincopy
public void getHwExControlAttrs(Context context, AttributeSet attrs, int defStyle){
TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.HwExControl, defStyle, 0);
mTitle = a.getString(R.styleable.HwExControl_title);
mText = a.getString(R.styleable.HwExControl_text);
}
在这段代码中有个对象a,这个是接收控件属性的对象,它是一个TypedArray类的对象,对于TypedArray类在sdk上是这样解释的:它是一个用来装载从obtainStyledAttributes或者obtainAttributes取回数据的数组容器。(Container for an array of values that were retrieved with obtainStyledAttributes(AttributeSet,
int[], int, int) or obtainAttributes(AttributeSet, int[]).)。用这个装载完从xml文件里接收到的属性后通过 TypedArray类自带的一些方法就可以分离出这些属性了。
相关文章推荐
- 初学android-自定义控件以及控件属性
- Android-自定义控件属性解读-->Android笔记
- Android使用后自定义控件如何在该布局文件以外动态的设置自定义控件的属性
- Android自定义控件属性
- Android declare-styleable:自定义控件的属性(attr.xml,TypedArray)的使用
- 【转】android 自定义控件 使用declare-styleable进行配置属性(源码角度)
- android自定义控件属性使用
- 详解Android自定义控件属性TypedArray以及attrs
- Android自定义控件属性详细介绍
- Android自定义控件之自定义属性
- android的自定义控件及自定义属性 - 相当有用呢
- Android手机安全卫士(二)---设置、自定义控件属性、md5加密、手机防盗
- [Android开发] declare-styleable:自定义控件的属性
- android 自定义控件 自定义属性详细介绍
- Android--自定义控件的xml属性
- android 自定义控件 自定义属性详细介绍
- 【Android 界面效果15】Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
- android 自定义控件 使用declare-styleable进行配置属性(源码角度)
- android 自定义控件 自定义属性详细介绍
- Android 两种为自定义控件添加属性的使用方法和区别