Хорошо, я наконец-то получил его на работу. Для тех, кто может столкнуться с той же проблемой, вот что я сделал.
Я помещаю пустой слой и разделяю все содержимое меню в отдельный файл XML.
Вот код:
/** Resetting bottom menu content */
private void resetBottomMenu(boolean isOpen){
bottomMenu.removeAllViews();
bottomMenu.addView(loadBottomMenu(isOpen));
// Control event handler goes here.
}
/** Load bottom menu content from XML */
private LinearLayout loadBottomMenu(boolean isOpen){
LinearLayout result = null;
if(isOpen){
result = (LinearLayout)View.inflate(this.getApplicationContext(), R.layout.menu_bottom_open, null);
}else{
result = (LinearLayout)View.inflate(this.getApplicationContext(), R.layout.menu_bottom, null);
}
return result;
}
Каждый раз, когда я хочу вставить меню, я вызываю resetBottomMenu, затем запускаю анимацию в bottomMenu. Если я хочу закрыть меню, я запускаю анимацию, затем resetBottomMenu.
Важно удалить дочернее представление в этом макете, так как это удалит действие щелчка.
P.S. Я не уверен, что это лучший способ сделать это, но я могу подтвердить, что это работает. У меня есть три меню, которые должны быть исчезнуть / слайд, и теперь они отлично работают:)