Android: как скрыть вкладки в панели действий?

Мне нужно временно скрыть объекты Tab, которые я определил для своего ActionBar. Для объектов Tab нет метода setVisibility, поэтому я не знаю, как это сделать.


person Christopher Perry    schedule 22.09.2011    source источник


Ответы (1)


Я бы попробовал setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD), чтобы вернуться к представлению без вкладок. Однако возможно, что когда вы позже вызовете setNavigationMode(ActionBar.NAVIGATION_MODE_TABS), вам потребуется восстановить вкладки.

ОБНОВЛЕНИЕ. Обратите внимание, что вкладки панели действий устарели в предварительной версии «L» для разработчиков и должны оставаться устаревшими в будущих выпусках Android. Рассмотрите возможность использования чего-то другого для вкладок: ViewPager с индикатором вкладок, FragmentTabHost и т. д.

person CommonsWare    schedule 22.09.2011
comment
Работает как шарм. Спасибо! Вкладки возвращаются точно так же, как я их оставил, когда они снова появляются, поэтому нет необходимости добавлять их обратно на панель действий. - person Christopher Perry; 23.09.2011
comment
Я только что заметил нежелательный побочный эффект. Когда вкладки снова появляются, та, которая была выбрана ранее, запускает обратный вызов onTabSelected. Я хотел бы просто скрыть/показать вкладки без запуска каких-либо событий. - person Christopher Perry; 23.09.2011
comment
@Scienceprodigy: подозреваю, что это невозможно. Даже если вы удалите и заново создадите вкладки, одна из них будет выбрана, и ее событие сработает. Просто научите своего TabListener игнорировать первое событие после восстановления вкладок. - person CommonsWare; 23.09.2011
comment
TabListener теперь игнорирует событие, когда я нахожусь в процессе смены режимов навигации. Это не так элегантно, как хотелось бы, но работает. - person Christopher Perry; 23.09.2011
comment
Я получаю сообщение об ошибке - The method setNavigationMode(int) is undefined for the type MainActivity - person Confuse; 19.09.2014
comment
@AntiMatter: setNavigationMode() — это метод ActionBar. - person CommonsWare; 19.09.2014
comment
Привет @CommonsWare, можно ли анимировать скрытие и отображение? - person noooooooob; 03.10.2014
comment
@noooooooob: Не то, чтобы я знал об этом. Кроме того, посмотрите обновление, которое я только что добавил в ответ. - person CommonsWare; 03.10.2014