为什么看不见的LinearLayout会占用空间?

Ski*_*zit 18 android android-layout

我有以下LinearLayout ......

<LinearLayout android:id="@+id/linearLayout3" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/S"></TextView>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/b"></TextView>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Ar"></TextView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我已经明确地将其设置为不可见但是LinearLayout仍然占用空间,导致布局中两个其他线性布局之间的填充,为什么?如何让它占用空间?

Gui*_*rie 39

因为gone如果您希望视图不占用空间,则必须将可见性设置为.


Rof*_*ion 13

文件Invisible说:

此视图不可见,但它仍占用布局空间.

因此,将布局的可见性设置为不可见只是隐藏布局,但不会释放消耗的空间.如果你想这样做,你必须设置可见性.

Gone 做你想要的:

此视图不可见,并且不需要任何空间用于布局.

另见:http://developer.android.com/reference/android/view/View.html#setVisibility(int)


Ocu*_*cuS 10

更改invisible通过gone将这样的伎俩.

public static final int View.INVISIBLE

此视图不可见,但它仍占用布局空间.与setVisibility(int)一起使用.

View.GONEView.INVISIBLE


jam*_*mes 6

invisible将占用相同的空间,就像它一样visible.gone如果您希望它不占用空间,请将可见性设置为.