Android自定义view自定义属性怎么使用,请牛人指导

 我来答
匿名用户
2016-07-13
展开全部

在attrs.xml文件中声明自定义View的类和相应属性及其数据类型

<declare-styleable name="ToolBar">
    <attr name="icon" format="reference" />
    <attr name="labelColor" format="color"/>
    <attr name="isVisible" format="boolean" />
    <attr name="width" format="dimension" />
    <attr name="fromAlpha" format="float" />
    <attr name="buttonNum" format="integer" />
    <attr name="label" format="string" />
    <attr name="pivotX" format="fraction" />
    <attr name="language">
        <enum name="english" value="1" />
        <enum name="chinese" value="2" />
    </attr>
    <attr name="windowSoftInputMode">
        <flag name="stateUnspecified" value="1" />
        <flag name="adjustNothing" value="0x30" />
    </attr>
    <attr name="itemBackground" format="reference|color" />
</declare-styleable>

在自定义View中对自定义属性进行解析

TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ToolBar);
buttonNum = ta.getInt(R.styleable.ToolBar_buttonNum, 5);
itemBg = ta.getResourceId(R.styleable.ToolBar_itemBackground, -1);
ta.recycle();

在布局文件中使用自定义属性,声明命名空间

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:toolbar="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <com.example.demo.ToolBar
    toolbar:icon="@drawble/icon"
    toolbar:labelColor="#29C1B2"
    toolbar:isVisible="true"
    toolbar:width="180dp"
    toolbar:fromAlpha="0.5"
    toolbar:buttonNum="3"
    toolbar:label="ToolBar"
    toolbar:pivotX="30%"
    toolbar:language="english"
    toolbar:windowSoftInputMode="stateUnspecified|adjustNothing"
    toolbar:itemBackground="@drawable/bg|#00FF00"/>
</LinearLayout>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式