Android如果想让一个View变得不可见,可以使用view.setVisibility(View.INVISIBLE),也可以view.setVisibility(View.GONE)(或者在xml文件中修改),这二者有何区别呢?查看android源码可以看到:
/**
* This view is invisible, but it still takes up space for layout purposes.
* Use with {@link #setVisibility} and <a href="#attr_android:visibility">{@code
* android:visibility}.
*/
public static final int INVISIBLE = 0x00000004;
/**
* This view is invisible, and it doesn't take any space for layout
* purposes. Use with {@link #setVisibility} and <a href="#attr_android:visibility">{@code
* android:visibility}.
*/
public static final int GONE = 0x00000008;
也就是说,invisible时仍然占据layout空间,而gone时则不会占据空间。