1

Панель действия может быть показана даже на устройствах сотовой ячейки, как показано на рисунке actionbar-compat sample.Скрыть и показать панель действий на устройствах сотовой ячейки

Я хочу, чтобы иметь возможность скрывать и показывать панель действий по требованию (программно). Как мне это сделать?

Проблема в том, что получение панели действий с использованием библиотеки поддержки возвращает значение null. Я также попытался найти его, используя свой идентификатор и установив видимость, но он просто отобразил пробел.

+0

Как вы пытаетесь получить панель действий? Используя 'getActionBar()'? –

+0

Пакет поддержки Android не имеет ничего общего с «панель действий на старых устройствах». – CommonsWare

+0

, так что это просто невозможно? есть ли какое-нибудь обходное решение? –

ответ

1

, в конце концов, я использовал actionBarSherlock.

у него есть гораздо больше функций, и эта запрошенная функция является одним из них. возможно, новая библиотека поддержки работает с этой функцией, но я уже перешел к этому решению.

1

ok, у меня есть обходное решение, но оно не работает для начала, а это означает, что в течение очень короткого времени панель действий будет показана в начале.

вот код, который я создал, чтобы скрыть панель действий (для предварительного сотовых версий), которые я уже думал, глядя на this post:

ViewGroup decorView = (ViewGroup) this.getWindow().getDecorView(); 
ViewGroup root = (ViewGroup) decorView.getChildAt(0); 
View titleContainer = root.getChildAt(0); 
titleContainer.setVisibility(View.GONE); 

если кто-нибудь знает, как сделать действие бар, спрятанный в начале, и выберите, когда показывать его, пожалуйста, дайте мне знать.

EDIT: btw, если кто-то хочет использовать тему через манифест и использует actionBarSherlock, вы можете использовать либо «Theme.Sherlock.Light.NoActionBar», либо «Theme.Sherlock.NoActionBar», и если вы хотите скрыть & показать в коде, просто используйте getSupportActionBar(). Hide() и getSupportActionBar(). Show().

0

Попробуйте это, скройте панель действий в xml, установив следующее свойство в xml для вашей деятельности. `

<activity 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 

Надеется, что это помогает, если нет, то добавить комментарий, и если что-то не так с моим ответом, пожалуйста, поправьте меня.

+0

это неправильно, так как он также скрывает панель уведомлений. вам нужно создать тему, чтобы этого избежать. –

+0

hmm .. да, я заметил, что он скрывает панель уведомлений, я использую ваш путь. Спасибо за исправление. – JCoder

+0

также был вопрос о том, чтобы делать это программно. во всяком случае, я обновил свой ответ, чтобы иметь решение для манифеста, хотя он не программно вообще ... –

 Смежные вопросы

  • Нет связанных вопросов^_^