我正在尝试使用 setVisibility(View.GONE)
隐藏 RelativeLayout
。但它不起作用。请检查我的代码:
<LinearLayout>
<RelativeLayout
android:id="@+id/AccelerometerView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView />
<TextView />
<TextView />
<ImageView />
</RelativeLayout>
</LinearLayout>
我正在使用以下代码来更改可见性:
private RelativeLayout tv;
tv = (RelativeLayout) findViewById(R.id.AccelerometerView);
tv.setVisibility(View.GONE);
我的做法是否正确?我知道我们可以像这样单独隐藏 TextView
。但我想在一个命令中一起隐藏所有三个 TextView
和 ImageView
。还有其他办法吗?
最佳答案
您可以创建方法来动态改变布局 tv
的可见性。
将布局设置为您在启动时需要的任何可见性。
我在这里包含了检查,因为它是其他一些代码的一部分,如果您想要包含对可见性的 bool 检查,它可能会很有用。
在您的 Activity 主体中声明您的 View ,以便可以通过任何方法访问它。
Activity :
RelativeLayout tv;
创建:
tv = (RelativeLayout) findViewById(R.id.AccelerometerView);
使用这些方法来控制可见性。
不在创建范围内:
public void setLayoutInvisible() {
if (tv.getVisibility() == View.VISIBLE) {
tv.setVisibility(View.GONE);
}
}
public void setLayoutVisible() {
if (tv.getVisibility() == View.GONE) {
tv.setVisibility(View.VISIBLE);
}
}
如果您不希望其他元素被 INVISIBLE 元素取代,请使用 GONE。您可以将此原则用于大多数事情。
http://developer.android.com/reference/android/view/View.html
关于android - 如何隐藏相对布局及其所有子布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290841/