Шлюпка Actionbar: настройка и скрытие заголовка
Я новичок в ActionBarSherlock, и у меня две проблемы:
Во-первых, я просто хочу установить заголовок панели действий, но она не работает, когда я вызываю ее так:
final ActionBar actionBar = (ActionBar) findViewById(R.id.actionBar);
actionBar.setTitle("test title");
Если соответствующий объект xml выглядит следующим образом:
<com.myapp.prototype.ActionBar
android:id="@+id/actionBar2"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
(Это моделируется после примера github: https://github.com/johannilsson/android-actionbar/blob/master/actionbarexample/src/com/markupartist/android/actionbar/example/HomeActivity.java). В других местах в Интернете я вижу ссылку на getSupportActionBar(), но я не понимаю, как и где это можно назвать.
Во-вторых, в другом месте я просто хочу скрыть панель заголовка Activity. Я пытаюсь сделать это, позвонив:
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
но я даже не могу его скомпилировать. Ошибка, которую я получаю:
"The method setDisplayShowTitleEnabled(boolean) is undefined for the type
ActionBar."
В обоих случаях я думаю, что в этой проблеме задействованы переопределения Шерлока Actionbar. Любые предложения, как сделать эту работу?
Большое спасибо.
Ответы
Ответ 1
Кажется, вы смешиваете две разные версии ActionBar. ActionBarSherlock - это расширение библиотеки совместимости, предоставляемой Google. Методы, используемые с ActionBarSherlock, почти идентичны родному ActionBar, найденному в Android 3.0+ http://actionbarsherlock.com/
Предоставленная ссылка Github (и код, который вы используете) представляет собой пользовательскую реализацию панели действий https://github.com/johannilsson/android-actionbar.
Я бы посоветовал вам использовать ActionBar sherlock и следовать руководству по использованию здесь http://actionbarsherlock.com/usage.html
Существует также видеоролик, запускаемый ActionBarSherlock здесь http://www.youtube.com/watch?feature=player_embedded&v=4GJ6yY1lNNY
Ответ 2
Настройка заголовка ActionBar
setTitle("Title")
Скрытие и отображение ActionBar
getSupportActionBar().hide();
getSupportActionBar().show();
Ответ 3
Вам нужно импортировать com.actionbarsherlock.view.Window, чтобы он тайно использовал длинную версию этого метода.