如何使用资源值来控制视图的可见性?

时间:2017-04-16 16:03:10

标签: android android-layout

我有一个Button小部件,它出现在多个布局中。最终,在最终版本中,该按钮将对用户隐藏,但在此之前,我需要它对于alpha和beta阶段的开发是可见的。

有没有办法从唯一的资源值控制该按钮的可见性?

这样的事情:

<!-- Feedback button -->
<Button
    android:id="@+id/feedback"
    style="@android:style/Widget.Button.Small"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="@dimen/buttons_margin"
    android:layout_marginLeft="@dimen/buttons_margin"
    android:text="Feedback"
    android:visibility="<some resource value>"
    />

另一种方法是使用布尔值,并以编程方式设置Button的可见性,但必须在布局中此按钮的每个活动中完成。

2 个答案:

答案 0 :(得分:1)

是的,这是可能的:

android:visibility="@integer/show_view"

integers.xml - 文件中:

<integer name="show_view">0</string>

可能的值是

0 (VISIBLE)
1 (INVISIBLE)
2 (GONE)

答案 1 :(得分:0)

基于 Miraduro 的回答,您可以为所有 integers.xml 可见性选项添加 View 条目:

    <!--  View visibilities  -->
    <integer name="visible">0</integer>
    <integer name="invisible">1</integer>
    <integer name="gone">2</integer>

然后像这样引用它们:

    <integer name="visibility_user_profile_item">@integer/visible</integer>

这将使其他团队成员更容易了解您在做什么。