隐藏线性布局时如何释放屏幕中的空间?

时间:2014-11-12 21:47:07

标签: android android-layout

我想在我的Android应用中显示/隐藏部分窗口。

我使用此代码:

LinearLayout l = (LinearLayout)findViewById(R.id.layoutToRemove);
        if (on) {
            l.setVisibility(View.INVISIBLE);
        } else {
            l.setVisibility(View.VISIBLE);
        }

现在发生的事情是LinearLayout已从窗口中移除,但它使用的空间未被释放(因此UI的其余部分位于原始位置)

现在我想要完成的是空间被释放,当LinearLayout再次可见时,它会再次出现。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

使用View.GONE代替View.INVISIBLE

http://developer.android.com/reference/android/view/View.html#GONE的GONE文档说

  

此视图不可见,并且不占用任何布局空间   目的。

http://developer.android.com/reference/android/view/View.html#INVISIBLE上的INVISIBLE文档相比较

  

此视图不可见,但仍占用布局空间   目的。