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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ping和tracert都是利用_tracert超时

    ping和tracert都是利用_tracert超时windows中的tracert使用的icmp,linux中使用的traceroute是udp报文和icmp返回(??)windows为例:tracert用法一般直接使用tracerthostname[ip]即可tracertbaidu.comtracert39.156.69.79需要快速完成命令可以不将地址解析成主机名并设置超时时间tracert-d-w200baidu.com第一列是条数,第2-4是每次返回的时延(每个地址会请求三…

    2025年12月7日
    6
  • Idea快捷键大全_零之轨迹超详细攻略

    Idea快捷键大全_零之轨迹超详细攻略4.1、字体设置file–>settings–>输入font–>设置字体样式以及字号大小。4.2、快速生成main方法psvm、main4.3、快速生成System.out.println()sout4.4、注意:IDEA是自动保存,不需要ctrl+s4.5、删除一行ctrl+y4.6、怎么运行:代码上右键–>run或者点击左侧的绿色箭头。ctrl+shift+F104.7、左侧窗口中的列表怎么展开?怎么关闭?左箭头关闭。

    2022年9月28日
    2
  • Start Failed Android studio

    Start Failed Android studio

    2021年9月30日
    87
  • java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的用法[通俗易懂]

    java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的用法[通俗易懂]  现在有个集合:List<User>users=getUserList();  现在需要将这些user的id提取出来。这个很简单,for循环嘛,谁不会啊(不会吧不会吧,不会有人还不会用for循环的吧)。List<Long>idList=newArrayList<Long>();for(inti=0;i<users.size();i++){  idList.add(users.get(i).getId());}  

    2022年8月20日
    6
  • 指针常量和常量指针的区别_指针常量能指向常量吗

    指针常量和常量指针的区别_指针常量能指向常量吗1、指针常量——指针类型的常量(int*constp)本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。用法如下:inta=10,b=20;int*constp=&amp;a;*p=30;//p指向的地址是一定的,但其内容可以修改2、…

    2022年4月19日
    64
  • JAVA面试题库_jpa面试题

    JAVA面试题库_jpa面试题Shiro可以做哪些工作?Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等shiro有哪些组件?Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;SessionManager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会

    2022年10月14日
    4

发表回复

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

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