美文网首页
Android 自定义属性

Android 自定义属性

作者: 有_味 | 来源:发表于2017-12-13 14:16 被阅读8次

    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>
    

    下面我们介绍一下刚才所写的属性

    1. 声明一个属性,我们要知道它的名字是什么,这里就是属性的名字,就想我们写的AppTheme一样,给它取个名字.
    <declare-styleable name="text">
    
    1. 声明名字后,我们需要在其中写一些关于属性的内容了.name声明的是数属性的名字,format声明的是自定义属性的内容.
      • 我们将名为textA自定义属性为"string"
      • 我们将名为textB自定义属性为"integer"
            <attr name="textA" format="string"/>
            <attr name="textB" format="integer"/>
    

    2.使用自定义属性

    1. 添加命名空间
    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"
            />
    

    这里是自定义控件中使用的自定义属性.

    结语:本文如果有错请留言!

    相关文章

      网友评论

          本文标题:Android 自定义属性

          本文链接:https://www.haomeiwen.com/subject/tuwaixtx.html