淺析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)文章
導(dǎo)致adb無法啟動(dòng)的5種情況和解決方法
這篇文章主要介紹了導(dǎo)致adb無法啟動(dòng)的5種情況和解決方法,本文列舉了最常見的5種情況和對(duì)應(yīng)解決方法,需要的朋友可以參考下2015-04-04Android編程實(shí)現(xiàn)創(chuàng)建,刪除,判斷快捷方式的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)創(chuàng)建,刪除,判斷快捷方式的方法,結(jié)合實(shí)例形式分析了Android編程針對(duì)快捷方式的常用操作技巧,需要的朋友可以參考下2017-02-02Handler實(shí)現(xiàn)線程之間的通信下載文件動(dòng)態(tài)更新進(jìn)度條
每一個(gè)線程對(duì)應(yīng)一個(gè)消息隊(duì)列MessageQueue,實(shí)現(xiàn)線程之間的通信,可通過Handler對(duì)象將數(shù)據(jù)裝進(jìn)Message中,再將消息加入消息隊(duì)列,而后線程會(huì)依次處理消息隊(duì)列中的消息。這篇文章主要介紹了Handler實(shí)現(xiàn)線程之間的通信下載文件動(dòng)態(tài)更新進(jìn)度條,需要的朋友可以參考下2017-08-08詳解Android權(quán)限管理之Android 6.0運(yùn)行時(shí)權(quán)限及解決辦法
本篇文章主要介紹Android權(quán)限管理之Android 6.0運(yùn)行時(shí)權(quán)限及解決辦法,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-11-11利用Warensoft Stock Service編寫高頻交易軟件
本文主要介紹了利用Warensoft Stock Service編寫高頻交易軟件的方法步驟,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01Android音樂播放器制作 點(diǎn)擊歌曲實(shí)現(xiàn)播放(二)
這篇文章主要為大家詳細(xì)介紹了Android音樂播放器的制作方法,點(diǎn)擊歌曲實(shí)現(xiàn)播放,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Android RecyclerView滑動(dòng)刪除和拖動(dòng)排序
這篇文章主要介紹了Android RecyclerView滑動(dòng)刪除和拖動(dòng)排序的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07Android簽名機(jī)制介紹:生成keystore、簽名、查看簽名信息等方法
這篇文章主要介紹了Android簽名機(jī)制介紹:生成keystore、簽名、查看簽名信息等方法,本文講解了升級(jí)App、權(quán)限檢查、生成keystore、對(duì)apk進(jìn)行簽名、查看簽名信息等內(nèi)容,需要的朋友可以參考下2015-04-04