2011-04-22 12 views
93

私のアプリケーションでは、私は2 LinearLayoutが互いの真上にある。メニューオプションを使用して、私は下のものを消滅させることができるようにしたい、消えた上に一番上のドロップダウンを持っていたいLinearLayoutビューをプログラムで非表示にするにはどうすればよいですか?

問題は、私はJavaでこれを行う方法については考えていません。

アニメーション化する必要はありません。に別のアクティビティ(メニュー)が戻ったら、Layoutを非表示にしたいと考えています。私は下のLayoutを非表示にしたり、表示する必要がある場合、私は決定し、私はOnActivityResultにチェックした上でboolean、それに応じていた値に設定activityメニュー:

// 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から:

INVISIBLE

このビューには見えないですが、それはまだレイアウトの目的のためのスペースを占有します。 setVisibility(int)android:visibilityで使用してください。

GONE

このビューには、目に見えない、そしてそれは、レイアウトの目的のために任意のスペースを取りません。 setVisibility(int)android:visibilityで使用してください。

+15

view.setVisibility(View.INVISIBLE)に設定されていても、ユーザーは引き続き対話できますか? – WhiskThimble

+8

いいえ、それはできません – Quillion

+0

アクティビティは、たとえば、ビューがGONEに設定されている場合、ビューを変更できますか?私はあなたがINVISIBLEに設定されている場合、あなたができると思います。 – moatist

15

これを試してください:あなたは、レイアウトから削除したい場合は

linearLayout.setVisibility(View.GONE);