3

我需要有能力隐藏/取消隐藏(在 View.GONE 的意义上)活动中的整个线性布局行。这是获取对作为更大相对布局的一部分的内部布局的引用并将该内部布局的可见性设置为消失的最佳方法吗?我还应该维护对布局的引用,这样我就可以执行 innerLayout.setVisibility(View.GONE)。如果是这样,它应该是什么类型的参考?最终还是每次我想隐藏/取消隐藏时都进行查找更好。不知何故,保持对布局的直接引用似乎不太正确。另一方面,我不想在每次隐藏/取消隐藏时将布局中的每个项目设置为消失或放置 findBy 来定位它。

也许添加/删除布局是更好的形式?但是我需要添加到视图层次结构中的正确位置,将这个逻辑放在代码中也不是一个好主意。

4

1 回答 1

2

你的线性布局是用 XML 设置的还是以编程方式制作的?

如果它在 XML 中完成:

请注意,如果任何视图使用此视图作为布局中的参考,例如 android:layout_below="@+id/this",那么这不是一个好主意。

你可以使用这样的东西,它会隐藏所有的子视图和它自己,不是隐藏而是完全消失(不占用空间)

如果您想在多个方法中使用它,或者在您正在使用它的方法中使用它,请在类中使用它作为参考

View layout;

然后在 onCreate 调用这个

layout = findViewById(R.id.linearLayout);

然后让它消失:

layout.setVisibility(View.GONE);

或者

layout.setVisibility(8);

并把它拿回来

layout.setVisibility(View.VISIBLE);

或者

layout.setVisibility(0);
于 2012-04-20T00:57:29.203 回答