Как скрыть представление программно?

В моем приложении у меня есть 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);