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)
上一篇 2022年7月14日 下午8:16
下一篇 2022年7月14日 下午8:16


相关推荐

  • webpack(5)webpack处理css文件[通俗易懂]

    webpack(5)webpack处理css文件[通俗易懂]css文件处理-准备工作(以下项目配置都是基于上一篇webpack(4)的基础上)在项目开发中,我们必然需要添加很多的样式,而样式我们往往写到一个单独的文件中。这里我们就在src目录中创建一个n

    2022年7月29日
    8
  • 网站用户单点登录系统

    1背景
      在网站建设的过程中,多个应用系统一般是在不同的时期开发完成的。各应用系统由于功能侧重、设计方法和开发技术有所不同,也就形成了各自独立的用户库和用户认证体系。随着网站的发展,会出现这样的用户群体:以其中的一个用户为例,他(她)使用网站的多个应用系统,但在每个应用系统中有独立的账号,没有一个整体上的网站用户账号的概念,进入每一个应用系统前都需要以该应用系统的账号来登录。这带给用户不方便的使用感受,用户会想:既然我使用的是同一个网站上的应用,为什么不能在一次在网站上

    2022年4月13日
    94
  • 海龟作图python等边三角形_python 海龟作图[通俗易懂]

    海龟作图python等边三角形_python 海龟作图[通俗易懂]turtle绘图turtle绘图是python中引入的一个简单绘图工具,利用turtle模块绘图又被称为海龟作图,因为绘图过程可以看作是一个小海龟行走的轨迹。海龟就像是屏幕上的画笔,屏幕就是画布。1.1导入turtle模块使用turtle绘图时,首先要导入turtle模块,有以下两种方式:(说明:在python中调入模块函数无外乎两种方法:import+函数名(numpy,matplotlib…

    2022年6月28日
    66
  • Visio2010产品密钥

    Visio2010产品密钥VisioPremium2010密钥+激活成功教程激活方法:在安装时可以使用以下密钥:GR24B-GC2XY-KRXRG-2TRJJ-4X7DCVWQ6G-37WBG-J7DJP-CY66Y-V278X2T8

    2022年7月2日
    46
  • 【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制

    【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制

    2021年12月16日
    44
  • 无线信道特征_无线信道模型有哪几种

    无线信道特征_无线信道模型有哪几种目录1统计性模型(经验模型)1.1模型分类(1)按衰落分类(2)按路径损耗和延迟拓展分类1.2建模方法(1)方法一分类(2)方法二分类2确定模型2.1建模方法3半确定模型3.1建模方法4思维导图PDF、xmind格式下载5参考文献1统计性模型(经验模型)1.1模型分类(1)按衰落分类小尺度传播衰落模型描述小范围内信号的幅度和相位的快速衰落,在电波传播过程中,信号场强在短短(几个信号波长)或短时(秒级)上呈现出快速波动的状况,包括由移动台和基站相对运动造成多普勒频移引起的时间

    2026年2月24日
    5

发表回复

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

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