1.创建自定义属性
在app –> src –> res –> values 下创建 attrs.xml 文件
如下图所示 ↓
创建好后我们可以在其中看到如下代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>
现在我们就在里面添加属性 代码如下 ↓
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!---->
<declare-styleable name="text">
<attr name="teet" format="string"/>
<attr name="textAttr" format="integer"/>
<attr name="android:text"/>
</declare-styleable>
</resources>
下面我们介绍一下刚才所写的属性
- 声明一个属性,我们要知道它的名字是什么,这里就是属性的名字,就想我们写的AppTheme一样,给它取个名字.
<declare-styleable name="text">
- 声明名字后,我们需要在其中写一些关于属性的内容了.name声明的是数属性的名字,format声明的是自定义属性的内容.
- 我们将名为textA自定义属性为”string”
- 我们将名为textB自定义属性为”integer”
<attr name="textA" format="string"/>
<attr name="textB" format="integer"/>
2.使用自定义属性
- 添加命名空间
xmlns:zyw="http://schemas.android.com/apk/com.jbh.custom_attrs.text"
- 添加包名是res/”你的包名”/”你自定义属性的名字我这里的名字是text(declare-styleable name=”text”)”
* 关于Android的命名空间
//1.Android命名空间
xmlns:android="http://schemas.android.com/apk/res/android"
//2.Android命名空间的使用
android:layout_width="match_parent"
android:layout_height="match_parent"
- xmlns:android=”“,中android是命名控件的名字,我们自己定义的命名空间的名字为zyw(命名控件的名字可以随意定义,);当我们把名为android的命名控件删掉后,你所使用的控件属性会报红,因为我们用的大多数的属性都是android下的属性.
- 在控件中使用的时候就是“命名空间的名字 + : + 属性名称 + = + 属性值
代码如下↓
<com.jbh.custom_attrs.MyTextView
android:layout_width="100dp"
android:layout_height="100dp"
zyw:textA="helloworld"
zyw:textB="520"
/>
这里是自定义控件中使用的自定义属性.