Как скрыть представление программно?
В моем приложении у меня есть 2 LinearLayout
прямо друг над другом. С помощью опции меню я хочу, чтобы нижняя часть исчезла, и верхняя часть выпала над исчезнувшим 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.
}
}
Может кто-нибудь дать мне подсказку или ссылку на то, как я должен это делать?
Ответы
Ответ 1
Вы можете вызвать view.setVisibility(View.GONE)
, если вы хотите удалить его из макета.
Или view.setVisibility(View.INVISIBLE)
, если вы просто хотите скрыть его.
От Android Docs:
INVISIBLE
Это представление невидимо, но оно все еще занимает место для целей макета. Используйте с setVisibility(int)
и android:visibility
.
GONE
Это представление невидимо, и оно не занимает места для макета. Используйте с setVisibility(int)
и android:visibility
.
Ответ 2
Попробуйте следующее:
linearLayout.setVisibility(View.GONE);