android declare-styleable 和style,android – declare-styleable和style之间的区别

android declare-styleable 和style,android – declare-styleable和style之间的区别我认为将属性声明为不是风格,只有以下区别。在attrs.xml中,您可以直接在“资源”部分内或在“declare-styleable”中声明自定义属性:所以现在我们将“attrib1”定义为不风格,“attrib2”为风格。在layout/someactivity.xml中,我们可以直接使用这些属性(不需要命名空间):您可以在style.xml声明中使用“styleable”属性“attrib…

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

我认为将属性声明为不是风格,只有以下区别。

在attrs.xml中,您可以直接在“资源”部分内或在“declare-styleable”中声明自定义属性:

所以现在我们将“attrib1”定义为不风格,“attrib2”为风格。

在layout / someactivity.xml中,我们可以直接使用这些属性(不需要命名空间):

您可以在style.xml声明中使用“styleable”属性“attrib2”。再次,这里不需要命名空间(即使在布局XML中使用了命名空间)。

text value

@color/white

然后您还可以设置每个样式的属性。

让我们假设我们这样做:我们将attrib1直接设置在XML中,我们将attrib2设置为一个样式。

在其他地方,我已经看到说明“blahblah”必须是使用这些属性的自定义视图类的名称,并且您需要使用命名空间来引用布局XML中的自定义属性。但似乎没有必要。

风格与非风格之间的区别似乎是:

>您可以在“style.xml”声明中使用样式属性。

>自定义类的构造函数需要以不同的方式读取样式和非样式的属性:使用getsStyledAttributes()的样式属性,以及具有attr.getAttributeValue()或类似属性的非风格属性。

在我在Web上看到的大多数教程和示例中,只使用了getsStyledAttributes()。但是,这不适用于直接在布局中声明的属性,而不使用样式。如果您在大多数教程中都显示了获取StyledAttributes()的方法,那么根本不会得到属性attrib1;你只会得到attrib2,因为它被宣布为风格。使用attr.getAttributeValue()的直接方法有效:

public CustomView(Context context, AttributeSet attrs) {

super(context, attrs);

String attrib1 = attrs.getAttributeValue(null, “attrib1”);

// do something with this value

}

由于我们没有使用命名空间来声明“attrib1”,所以我们作为getAttributeValue()中的namespace参数传递null。

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

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

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


相关推荐

  • AutoMapper学习

    AutoMapper学习http://automapper.org/这是一款DTO的映射工具,AutoMapper是基于对象到对象约定的映射工具,它可以把复杂的对象模型转为DTO,或者其他的–那些让设计更合理更适于序列化、通信、传递消息的简单对象或者干脆就只是在领域层与应用层之间搭建一个简单的ACL防护层(就像DTO一样,用于代码的显示转换)来增加各自层的相互独立性。简单来说就是:就是根据A的模型和B的模型中的定义,自动将A模型映射为一个全新的B模型。前言VO、DTO、DO、PO、DAOVO(ViewObject.

    2025年8月20日
    2
  • 总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法[通俗易懂]

    总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法[通俗易懂]ViewCode总结一下SQL语句中引号(”)、quotedstr()、(””)、format()在SQL语句中的用法以及SQL语句中日期格式的表示(#)、(””)在Delphi中进行字符变量连接相加时单引号用(”””),又引号用(””””)表示首先定义变量varAnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在…

    2022年10月17日
    0
  • 【速查表】PHPStorm快捷键「建议收藏」

    【速查表】PHPStorm快捷键「建议收藏」【速查表】PHPStorm快捷键

    2022年4月24日
    38
  • Nacos 2.0_一个数的0倍是多少

    Nacos 2.0_一个数的0倍是多少点击关注公众号,Java干货及时送达3月20号,Nacos2.0.0正式发布了!Nacos简介:“一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。通俗点讲,Nacos…

    2022年9月20日
    2
  • POJ 3982 序列 塔尔苏斯问题解决

    POJ 3982 序列 塔尔苏斯问题解决

    2022年1月8日
    46
  • 最好用的免费音乐播放器_最好用的免费音乐播放器

    最好用的免费音乐播放器_最好用的免费音乐播放器不知道大家在工作的时候,是不是跟我一样,喜欢听着自己熟悉的旋律,心情也会很好。但是,原来的很多经典歌曲,要么改收费一首歌几块钱、要么是翻唱的,听起来也没有原版好,对于我们这些只是偶尔听听歌的、写写东西的人来说,的确有点不方便。今天,小莫为大家挑选了四个,截止到目前还能正常使用,并且功能十分强大的音乐播放器,歌曲都是免费的,建议低调收藏。1、音乐社一款很简洁的音乐播放器,涵盖了主流播…

    2022年4月19日
    45

发表回复

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

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