attrs.xml styles.xml R.styleable.xxx 属性

在昨天的我初步弄清楚了怎样通过xml文件来设置控件的属性,主要是通过res文件夹内的attrs.xmlstyles.xml两个xml文件来完成的。今天主要来做个小例子来验证一下这个过程。

Attrs.xml这个文件是用来定义控件属性的文件,结合下面例子来详细说明这个文件。

- <resources>

- <declare-styleable name="HwExControl">

<attr name="text" format="string" />

<attr name="title" format="string" />

<attr name="iconid" format="integer" />

<attr name="height" format="dimension" />

<attr name="width" format="dimension" />

<attr name="background" format="reference|color" />

</declare-styleable>

</resources>

<declare-styleable name="HwExControl">这行代码定义了控件的名称HwExControl

<attr name="text" format="string" /> 这行代码定义了控件中一个属性,我不知道这个称为属性是否合适,它定义了一个字符串(format=”string”表明它是一个字符串)存在于这个控件中,有可能会显示在这个控件中,能不能显示要在java代码中予以控制或者另外在添加一个属性来控制是否显示。

下面几个就不一一介绍了,他们都是这个控件的属性。对于这些属性的format从我了解到的来看有floatstringreferencecolordimension等,其中有些format并不是Java中的基本类型,我现在还不太明白他们的用法,这个在以后的学习来补充说明。

设置完这个xml文件之后在相应的控件Java文件中需要编写如下代码来接收(不知道“接收”这个词用的是否准确^_^)xml文件设置的属性:

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);

mIconID = a.getInt(R.styleable.HwExControl_iconid,0);

mBackground = a.getDrawable(R.styleable.HwExControl_background);

}

在这段代码中有个对象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类自带的一些方法就可以分离出这些属性了。

对于style.xml文件今天的了解还不够,明天将主要了解这个文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


xml怎么加入图片路径
rss源错误怎么解决
文件后缀xml是什么意思
xml格式电子发票怎么获取
xml格式是什么意思
rss是什么意思啊
xml格式电子发票怎么打开
rss订阅源是什么意思
rss源是什么
xml注释怎么写
php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类