내 응용 프로그램에서 나는 LinearLayout
서로 바로 위에 2가 있습니다 . 메뉴 옵션을 통해 하단 항목을 사라지게하고 상단 항목이 사라진 항목 위에 드롭 다운되도록하고 싶습니다 LinearLayout
.
문제는 Java에서 이것을 수행하는 방법에 대해 전혀 모른다는 것입니다.
애니메이션화 할 필요는 없습니다. Layout
에서 다른 활동 (메뉴)이 돌아올 때를 숨기고 싶습니다 OnActivityResult
. 메뉴 activity
는 boolean
내가 체크인 할 을 설정하고 그 OnActivityResult
값에 따라 하단을 숨기거나 표시해야하는지 결정합니다 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.
}
}
아무도 내가 어떻게해야하는지에 대한 힌트 나 링크를 줄 수 있습니까?
답변
view.setVisibility(View.GONE)
레이아웃에서 제거하려면 호출 할 수 있습니다 .
아니면 view.setVisibility(View.INVISIBLE)
그냥 숨기고 싶다면.
에서 안드로이드 문서 도구 :
보이지 않음
이보기는 보이지 않지만 레이아웃을 위해 여전히 공간을 차지합니다. 함께 사용
setVisibility(int)
하고android:visibility
.지나간
이보기는 보이지 않으며 레이아웃 용도로 공간을 차지하지 않습니다. 함께 사용
setVisibility(int)
하고android:visibility
.
답변
이 시도:
linearLayout.setVisibility(View.GONE);
답변
Kotlin 솔루션
view.isVisible = true
view.isInvisible = true
view.isGone = true
// For these to work, you need to use androidx and import:
import androidx.core.view.isVisible // or isInvisible/isGone
Kotlin 확장 솔루션
보다 일관된 길이를 원하고, nullable 뷰에 대해 작업하고, 잘못된 부울을 작성할 가능성을 낮추려면 다음 사용자 지정 확장을 사용해보십시오.
// Example
view.hide()
fun View?.show() {
if (this == null) return
if (!isVisible) isVisible = true
}
fun View?.hide() {
if (this == null) return
if (!isInvisible) isInvisible = true
}
fun View?.gone() {
if (this == null) return
if (!isGone) isGone = true
}