淺析Android中的visibility屬性
Android開發(fā)中,大部分控件都有visibility這個(gè)屬性,其屬性有3個(gè)分別為“visible ”、“invisible”、“gone”。主要用來設(shè)置控制控件的顯示和隱藏。
1) 可見(visible)
XML文件:android:visibility="visible"
Java代碼:view.setVisibility(View.VISIBLE);
2) 不可見(invisible)
XML文件:android:visibility="invisible"
Java代碼:view.setVisibility(View.INVISIBLE);
3) 隱藏(GONE)
XML文件:android:visibility="gone"
Java代碼:view.setVisibility(View.GONE);
為了區(qū)別其作用,測(cè)試demo如下:
Java代碼:
# public class MainActivity extends Activity {
# private TextView txt222 = null;
#
# @Override
# protected void onCreate(Bundle savedInstanceState) {
# super.onCreate(savedInstanceState);
# setContentView(R.layout.main);
#
# txt222 = (TextView)findViewById(R.id.txt2222);
#
# findViewById(R.id.btn1).setOnClickListener(listener);
# findViewById(R.id.btn2).setOnClickListener(listener);
# findViewById(R.id.btn3).setOnClickListener(listener);
# }
#
# View.OnClickListener listener = new View.OnClickListener() {
# @Override
# public void onClick(View v) {
# switch (v.getId()) {
# case R.id.btn1:
# txt222.setVisibility(View.VISIBLE);
# break;
#
# case R.id.btn2:
# txt222.setVisibility(View.INVISIBLE);
# break;
#
# case R.id.btn3:
# txt222.setVisibility(View.GONE);
# break;
# }
# }
# };
# }
xml代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#F00"
android:text="1111"
android:visibility="visible" />
<TextView
android:id="@+id/txt2222"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#0F0"
android:text="2222"
android:visibility="visible" />
</LinearLayout>
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="2222 VISIBLE" />
<Button
android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="2222 INVISIBLE" />
<Button
android:id="@+id/btn3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="2222 GONE" />
</LinearLayout>
運(yùn)行結(jié)果:

代碼解釋:
兩個(gè)TextView,用于測(cè)試visible, invisible, gone的效果
第一個(gè)TextView, 用于測(cè)試第二個(gè)TextView被設(shè)置為visible,invisible,gone狀態(tài)后的顯示效果
第二個(gè)TextView, 用于設(shè)置為visible, invisible, gone
三個(gè)Button,用于操作第二個(gè)TextView的狀態(tài)分別為visible, invisible, gone
測(cè)試結(jié)果
1) 點(diǎn)擊第二個(gè)Button(btn2),設(shè)置第二個(gè)TextView(txt222)為invisible,顯示效果如下:

2) 點(diǎn)擊第二個(gè)Button(btn3),設(shè)置第二個(gè)TextView(txt222)為gone,顯示效果如下:

3) 點(diǎn)擊第二個(gè)Button(btn1),設(shè)置第二個(gè)TextView(txt222)為visible,顯示效果如下:

結(jié)論:
visible : 設(shè)置控件可見
invisible : 設(shè)置控件不可見
gone : 設(shè)置控件隱藏
invisible 和gone 主要區(qū)別是:
當(dāng)控件visibility屬性為invisible時(shí),界面保留了view控件所占有的空間;
而控件屬性為gone時(shí),界面則不保留view控件所占有的空間。
- Android源碼系列之深入理解ImageView的ScaleType屬性
- Android EditText常用屬性功能匯總
- Android中LinearLayout布局的常用屬性總結(jié)
- 圖文講解Android的ImageView類中的ScaleType屬性設(shè)置
- 詳解Android自定義控件屬性TypedArray以及attrs
- Android開發(fā)之使用ExifInterface獲取拍照后的圖片屬性
- Android編程開發(fā)之EditText中inputType屬性小結(jié)
- Android編程開發(fā)之TextView文字顯示和修改方法(附TextView屬性介紹)
- Android中的windowSoftInputMode屬性詳解
- android教程之intent的action屬性使用示例(intent發(fā)短信)
- android ListView 一些重要屬性詳解
- Android中persistent屬性用法詳解
相關(guān)文章
Android 實(shí)現(xiàn)定時(shí)任務(wù)的過程詳解
這篇文章主要介紹了Android 定時(shí)任務(wù)過程詳解的相關(guān)資料,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
在Android環(huán)境下WebView中攔截所有請(qǐng)求并替換URL示例詳解
這篇文章主要介紹了在Android環(huán)境下WebView中攔截所有請(qǐng)求并替換URL示例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Android Intent啟動(dòng)別的應(yīng)用實(shí)現(xiàn)方法
我們知道Intent的應(yīng)用,可以啟動(dòng)別一個(gè)Activity,那么是否可以啟動(dòng)別外的一個(gè)應(yīng)用程序呢,答案是可以的2013-04-04
Android應(yīng)用閃屏頁(yè)延遲跳轉(zhuǎn)的三種寫法
這篇文章主要介紹了 Android應(yīng)用閃屏頁(yè)延遲跳轉(zhuǎn)的三種寫法,需要的朋友可以參考下2017-03-03
Android中SurfaceView和普通view的區(qū)別及使用
SurfaceView第一印象它是一個(gè)view,因?yàn)樗^承了View,本文主要介紹了SurfaceView和普通view的區(qū)別及使用,感興趣的小伙伴們可以參考一下2021-06-06
Android實(shí)現(xiàn)手機(jī)多點(diǎn)觸摸畫圓
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手機(jī)多點(diǎn)觸摸畫圓,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Android中Progress的簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android中Progress的簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android利用Andserver搭建服務(wù)器的詳細(xì)教程
這篇文章主要介紹了Android利用Andserver搭建服務(wù)器的教程,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06

