2011-04-22 97 views
93

在我的應用程序中,我有2個LinearLayout。通過一個菜單選項,我希望能夠使最下面的一個消失,並且讓最上面的一個掉落在消失的LinearLayout上。如何以編程方式隱藏視圖?

問題是,我不知道如何在Java中做到這一點。

它不一定是動畫,我想隱藏Layout返回另一個活動(菜單),在OnActivityResultactivity設置一個boolean關於這一點我在01​​檢查菜單,並根據它的值,我確定我是否需要隱藏或顯示底部Layout

// Only change value if it is different from what it was. 
if(mUseVolumeButtonAsPTT != resultData.getBoolean("UseVolumeButtonAsPTT")){ 
    mUseVolumeButtonAsPTT = resultData.getBoolean("UseVolumeButtonAsPTT"); 
    if(!mUseVolumeButtonAsPTT){ 
     // Hide lower LinearLayout. 
    } else { 
     // Show lower LinearLayout. 
    } 
} 

任何人都可以給我一個提示或如何我一個鏈接應該這樣做?

回答

255

你可以打電話view.setVisibility(View.GONE),如果你想從佈局中刪除它。

view.setVisibility(View.INVISIBLE)如果你只是想隱藏它。

Android Docs

看不見

這種觀點是無形的,但它仍然佔用空間佈局的目的。與setVisibility(int)android:visibility一起使用。

GONE

這種觀點是不可見的,並且它不採取任何空間佈局的目的。與setVisibility(int)android:visibility一起使用。

+15

如果用戶設置爲view.setVisibility(View.INVISIBLE),用戶仍可以與它交互嗎? – WhiskThimble 2013-04-24 08:24:26

+8

nope,他們不能 – Quillion 2013-09-10 16:14:14

+0

例如,如果一個活動設置爲GONE,一個活動可以更改視圖嗎?如果它被設置爲INVISIBLE,我會想象你可以。 – moatist 2014-07-28 04:53:56

15

試試這個:

linearLayout.setVisibility(View.GONE); 
相關問題