Android控件属性android:visibility的"invisible"与"gone"的区别

"invisible" : 不可见

"gone"      : 隐   藏

 

主要区别在于控件设置了invisible后控件不可见,但是保留了控件在界面上的空间,而设置为gone,则不保留控件占有的空间。

 

test.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_weight="1"
        android:background="@color/green" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_weight="1"
        android:background="@color/red" />

</LinearLayout>

效果:

 

invisible.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_weight="1"
        android:background="@color/green" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_weight="1"
        android:background="@color/red"
        android:visibility="invisible" />

</LinearLayout>

效果:

 

gone.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_weight="1"
        android:background="@color/green" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:layout_weight="1"
        android:background="@color/red"
        android:visibility="gone" />

</LinearLayout>

效果:

从这三种效果,invisible和gone的区别就一目了然了。

 

posted @ 2014-06-03 16:42  x-dev  阅读(2539)  评论(0编辑  收藏  举报