2011-04-22 7 views
93

내 응용 프로그램에서는 2 LinearLayout이 서로 위에 있습니다. 메뉴 옵션을 통해, 아래쪽을 사라지게 만들고, 맨 위의 드롭 다운을 사라지게 만들려고합니다. LinearLayout.뷰를 프로그래밍 방식으로 숨기는 방법?

문제는 Java에서이 작업을 수행하는 방법에 대한 아이디어가 없습니다.

애니메이션 작업을 수행 할 필요가 없으므로 에 다른 작업 (메뉴)이 반환 될 때 Layout을 숨기려고합니다. 의 I는 OnActivityResult에 확인하는에 boolean을 설정 activity 메뉴, 나는 숨기거나 표시 할 필요하면 결정이 값의에 따라 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. 
    } 
} 

아무도 나에게 힌트 또는 I 방법에 대한 링크를 제공 할 수 이 일을해야합니까?

답변

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

+8

아니요, 그들은 할 수 없습니다 – Quillion

+0

예를 들어,보기가 GONE으로 설정된 경우 활동을 변경할 수 있습니까? 당신이 그것이 비공개로 설정되면 당신이 할 수 있다고 상상할 것입니다. – moatist

15

이 시도 : 당신은 레이아웃에서 제거하려는 경우

linearLayout.setVisibility(View.GONE); 
관련 문제