我有一个 TextView
在我的 Activity 中应该是 visible
通常,但是 gone
用于平板设备。
我知道我可以为平板电脑创建一个新的布局文件,但这似乎有很多重复,所以我想做的是在我的(单个)布局文件中设置类似...
android:visibility="@string/my_textview_visibility"
...对于 TextView
.然后,在我的字符串资源文件中,设置...
<string name="my_textview_visibility">gone</string>
(在 values/strings.xml 中)
...和...
<string name="my_textview_visibility">visible</string>
(在values-sw720dp/strings.xml)
...隐藏平板电脑的 TextView。
但是,当我尝试此操作时,应用程序在尝试显示该 Activity 时崩溃了。
我是否需要使用常量值而不是上述字符串值 - 例如,
"visible"
-> 0
"gone"
-> 8
..如果是这样,向我的 XML 文件添加/引用这些值的正确方法是什么?
或者有其他/更好的方法吗?
注意 - 我不想显示/隐藏 TextView
在我的 Java 代码中编程。
最佳答案
您应该使用 /values/integers/
代替:
values/integers.xml
<integer name="my_textview_visibility">0</integer> <!-- 0 = View.VISIBLE -->
values-sw720dp/integers.xml
<integer name="my_textview_visibility">2</integer> <!-- 2 = View.GONE -->
然后这样调用:
android:visibility="@integer/my_textview_visibility"
关于Android - 如何根据设备在 xml 中设置可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43144991/