`
java-admin
  • 浏览: 1384834 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

atrrs.xml文件解析

XML 
阅读更多

20100128

在昨天的我初步弄清楚了怎样通过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文件今天的了解还不够,明天将主要了解这个文件。

分享到:
评论
2 楼 tianlunzhizi 2012-09-19  
学习了,一直都不知道attrs的执行过程
1 楼 herrylioi 2011-07-19  
attrs.xml官方并没有提供文档,这个确实没有参考点。

相关推荐

    史上最全的maven的pom.xml文件详解

    下面,我们将详细解析Pom.xml文件的各个标签和它们的作用。 1. 父项目(Parent Project) 在Pom.xml文件中,我们可以定义父项目的信息,包括artifactId、groupId、version和relativePath等。父项目的信息将被继承...

    天气预报 .xml文件解析

    本项目名为“天气预报 .xml文件解析”,其核心在于利用XML文件来存储天气预报数据,并通过编程手段进行解析,结合SQLite数据库展示和管理这些信息。 首先,我们要理解XML的基本结构。XML是一种自描述性的标记语言,...

    人脸识别需要的haarcascade_frontalface_default.xml文件

    haarcascade_frontalface_default.xml 和 haarcascade_eye.xml 文件是OpenCV库中用于人脸检测和眼睛检测的重要数据结构。 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,...

    Android教程之AndroidManifest.xml文件详细介绍及用法解析

    Android教程之AndroidManifest.xml文件 详细介绍及用法解析

    maven中settings.xml文件下载

    settings.xml配置

    PluginManagerPlugins.xml文件

    解决Notepad++ Plugin Manager无法加载插件的方法。把PluginManagerPlugins.xml放在这个目录下C:\Users\你主机系统用户\AppData\Roaming\Notepad++\plugins\config 重新打开软件

    license.xml

    在编程和自动化场景中,开发者可能会使用库或API,如Apache POI(处理Microsoft Office格式)和iText(处理PDF)来实现这个过程,并通过解析XML文件来定制转换行为。 总的来说,`license.xml`在Word到PDF转换中起到...

    maven settings.xml 直接下载使用

    国内连接maven官方的仓库更新依赖,收集一些国内快速的maven仓库镜像以备用。 settings.xml配置好的国内私服,直接可以下载使用!

    Maven原版settings.xml配置文件(下载)

    Maven原版settings.xml配置文件,根据个人需要,可以打开对应注释或替换相关阿里云镜像或远程仓库地址即可使用。

    基于Java的POM.XML

    基于Java的POM.XML,如果用兴趣,可以下载下去参考一下

    aspose-word+license.xml

    1. **读取Freemarker生成的文档**:Aspose能正确解析由Freemarker生成的.docx文件,即使它们包含了不标准的XML结构。 2. **修复文档结构**:一旦读取,Aspose可以识别并修复可能存在的XML结构错误,使其符合Office的...

    hibernate.cfg.xml

    hibernate.cfg.xml hibernate框架的配置文件

    提取apk文件中的AndroidManifest.XML

    Android反编译工具是用来解析和反编译APK文件的,它可以将APK的二进制资源转换为可读的源代码和XML文件。Apktool是一款流行的Android反编译工具,它支持对APK进行拆解、修改和重新打包。通过Apktool,我们可以轻松地...

    main-menu.xml

    mysqlWorkbench 汉化

    Source Insight配置文件.xml

    自己使用的Source Insight 4.0配置文件

    解析XML文件的四种方式整合

    在Java中,可以使用javax.xml.parsers.DocumentBuilderFactory类来创建DOM解析器。 ```java DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory....

    apns-conf.xml

    网络上很多的APN文件,看了许多,没有带电信参数的,花费一晚上的时间,通宵写成了这个,确切的说是改成了这个集成了中国电信相关参数的apns-conf.xml文件,借阅请说明出处,谢谢

    C写的解析xml文件源代码

    本文将深入探讨使用C语言编写的XML文件解析源码,并讲解如何实现XML文件的基本操作,如查找、增加和删除节点。 在C语言中处理XML文件通常涉及到以下几个关键步骤: 1. **内存管理**:由于C语言没有内置的高级数据...

    javax.xml.ws.Service 报错需要的包

    在Java开发中,`javax.xml.ws.Service` 是一个核心组件,属于Java API for XML Web Services (JAX-WS)的一部分,用于创建客户端和服务端的Web服务代理。报错通常表明缺少必要的依赖包,这可能会影响到程序的正常运行...

Global site tag (gtag.js) - Google Analytics