android – 引用属性枚举值

android – 引用属性枚举值,第1张

概述在提供样式参数时是否可以引用枚举值? 例如,我们可以这样做: <!-- layouts.xml --><TextView android:text="@string/str" /><!-- values.xml --><item type="string" name="str">hi</item> 这适用于字符串,整数,维度等,但我需要引用枚举值 – 例如visibility属性. 在提供样式参数时是否可以引用枚举值?
例如,我们可以这样做:

<!-- layouts.xml --><TextVIEw    androID:text="@string/str" /><!-- values.xml --><item type="string" name="str">hi</item>

这适用于字符串,整数,维度等,但我需要引用枚举值 – 例如visibility属性.我正在寻找类似的东西:

<!-- layouts.xml --><TextVIEw    androID:visibility="@????/viz" /><!-- values.xml --><item type="?????" name="viz">gone</item>

可见性只是一个例子 – 它可以是任何其他基于枚举的属性.

到目前为止我找到的唯一解决方法是使用样式

<!-- layouts.xml --><TextVIEw    androID: /><!-- styles.xml --><style name="theStyle">    <item name="androID:visibility">gone</item></style>

但这在某种程度上是限制性的,因为如果您需要使用TextVIEws的真实样式并且这种仅用于控制单个属性的特殊样式,它会变得越来越复杂.

另一种选择是,如果有一种方法可以引用单个样式项.就像是:

<TextVIEw    androID:visibility="@styles/theStyle/visibility" />

但我认为上述内容的可能性更小.

解决方法 每个枚举实际上是一组命名整数.
例如,visibility属性声明如下:

<attr name="visibility">    <enum name="visible" value="0" />    <enum name="invisible" value="1" />    <enum name="gone" value="2" /></attr>

因此,您可以通过其值直接引用枚举项.像这样的东西:

<!-- values.xml --><item name="viz" type="integer">1</item><!-- layouts.xml --><TextVIEw    androID:visibility="@integer/viz"/>

我刚刚在手机上查看了它,效果很好.

总结

以上是内存溢出为你收集整理的android – 引用属性枚举值全部内容,希望文章能够帮你解决android – 引用属性枚举值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1127374.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存