declare-styleable的详细用法

declare-styleable的详细用法简述declare-styleable的定义使用规则,做好笔记方便自己后期使用也方便他人使用。

大家好,又见面了,我是你们的朋友全栈君。

1.在resource中定义declare-styleable。

<declare-styleable name="SmileRating">
    <attr name="angryColor" format="color" />
    <attr name="normalColor" format="color" />
    <attr name="drawingColor" format="color" />
    <attr name="showLine" format="boolean" />
    <attr name="placeHolderSmileColor" format="color" />
    <attr name="placeHolderBackgroundColor" format="color" />
    <attr name="textSelectionColor" format="color" />
    <attr name="textNonSelectionColor" format="color" />
</declare-styleable>
2.使用:<com.XXX.XXXView>  
 android:id="@+id/ratingView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:angryColor="#fff"
    android:layout_centerVertical="true" />

3.在构造方法中获取属性值(注意getColor的key格式)

TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.SmileRating);
Color1 = a.getColor(R.styleable.SmileRating_angryColor, defValue);
Color2 = a.getColor(R.styleable.SmileRating_normalColor, defValue);
Color3 = a.getColor(R.styleable.SmileRating_drawingColor, defValue);
a.recycle();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158544.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库设计之学生选课系统_学生选课系统界面设计

    数据库设计之学生选课系统_学生选课系统界面设计目录引言…5第一章需求分析…61.1需求分析…61.1.1分析阶段…61.2任务概述…71.2.1目标…71.2.2运行环境…7软件配置:1.2任务概述…81.2.1目标…81.2.2运行环境…81.3数据流图…81.4数据字典…9第二章概念结构设计…112.1概念结构…112.2学…

    2022年10月15日
    2
  • dns url转发_获取url参数的方法

    dns url转发_获取url参数的方法URL转发包括显性转发和隐性转发。 显性转发:访问域名后,转跳到新的自定义URL地址,浏览地址是变化的。 隐性转发:访问域名后,浏览地址是不变的,但网站内容转跳到新的目标网站内容。 DN…

    2022年10月18日
    3
  • Docker卸载_退出docker容器命令

    Docker卸载_退出docker容器命令##1)进入docker的安装目录cd/usr/local/bin/##2)删除与docker相关的文件夹sudorm-rfdocker*sudorm-rfcom.docker.*sudorm-rfhub-tool*sudorm-rfkube*sudorm-rfvpnkit*完成!

    2022年9月8日
    2
  • pycharm永久激活码2021.5.3(最新序列号破解)

    pycharm永久激活码2021.5.3(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    91
  • 如何通过maven打包可执行jar包[通俗易懂]

    如何通过maven打包可执行jar包[通俗易懂]一、目的将代码打包成jar包有四种形式:1、只打包本项目的代码,不包括依赖的jar包,并且不可直接通过java-jarxxx.jar执行(应用场景:我们日常使用依赖的jar包)2、只打包本项目的代码,不包括依赖的jar包,并且可以直接通过java-jarxxx.jar执行(应用场景:执行时依赖的jar包存在在本jar包外部,减少jar体积)3、打包本项目的代码,同时将依赖的jar包解压后的文件复制到本jar包中,可以直接通过java-jarxxx.jar执行(应用场景:直接执行,

    2022年10月4日
    2
  • 微信小程序bindtap的作用_小程序分享带参数

    微信小程序bindtap的作用_小程序分享带参数之前一直以为微信小程序按钮点击事件传参是和web端相同,即在事件中写明所传递的参数即可,但是这样尝试过以后发现小程序的控制台报错,报所写的bindtap中参数错误,之后百度发现,小程序按钮点击这类事件时一般的处理方法是指明元素所在的id,bindtap只是写明函数名,例如,bindtap=’setNumber’,而不是bindtap=’setNumber(1)’,在js中只要写function(e

    2022年4月19日
    97

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号