在Android开发过程中,如果Android系统自带的属性不能满足我们日常开发的需求,那么就需要我们给系统控件添加额外的属性了。假如有个需求是实现带下划线的文本显示(下划线),如果不使用自定义属性的话实现起来也不太难(起码我认为的实现方式是有许多种的),今天就讲解一下如何使用自定义属性来实现上述带下划线的文本框吧。还好Android中自定义属性不是很复杂,也可以归纳为三步走吧。
老规矩,还是先贴出工程目录吧:
一、添加属性文件
在values文件夹中新建attrs.xml文件,在文件中新建属性文件,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 自定义属性开始 -->
<declare-styleable name="BorderTextView">
<attr name="layout_borders" format="boolean"></attr>
<attr name="layout_borderLeft" format="boolean"></attr>
<attr name="layout_borderTop" format="boolean"></attr>
<attr name="layout_borderRight" format="boolean"></attr>
<attr name="layout_borderBottom" format="boolean"></attr>
</declare-styleable>
<!-- 自定义属性结束 -->
</resources>
其中需要说明的是,自定义属性文件的根节点页是<resources>,在根节点内创建你所需要的属性值,自定义属性的节点是以<declare-styleable>开始的,它表示的是个属性集可以包含众多属性,其中name="BorderTextView"是属性集名。接着在<declare-styleable>中定义我们需要的以<attr>为节点的属性,attr表示属性的意思name表示当前属性的名称,format表示的是属性值的类型,例如我们当前定义的属性类型为boolean类型,也就是说当前定义的属性取值只能为boolean类型的,format可以表示的的类型有好多种,最常见的如:string,boolean,integer,dimension,reference等这,里就不再详细讲解了,如果谁有疑问,可以自己