У меня есть пользовательский шаблон ActionBar, например:Установите название обычая ActionBar
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="TITLE"
android:textSize="18sp" />
</RelativeLayout>
Я применить пользовательский макет в моем MainActivity так:
getActionBar().setDisplayShowCustomEnabled(true);
getActionBar().setCustomView(R.layout.action_bar);
Это фактически показывает центрированное Текст «TITLE», но все же старый тоже слева. Мое приложение вызывает getActionBar().setTitle(...)
пару раз, и это приводит к обновлению старого заголовка, новый заголовок остается как он.
Возможно ли, например. указав мой заголовок TextView на определенный идентификатор, что getActionBar().setTitle(...)
вместо этого обновляет TextView? Или мне нужно реализовать собственный метод установки заголовка?
Что мне нужно сделать, чтобы исчезнуть старый заголовок?
Это связано с использованием NavigationDrawer и восстановлением ActionBar? Мой метод восстановления, как это:
private void restoreActionBar() {
ActionBar actionBar = getActionBar();
if (actionBar != null) {
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
}
}
У меня нет Android Studio под рукой, но можно ли переопределить getActionBar(), чтобы вернуть свою собственную реализацию? – milez
И создать мою собственную реализацию ActionBar, которая использует пользовательский заголовок TextView? Да, я думаю, но я сомневаюсь, что это приведет к исчезновению старого названия. – Terry
Попробуйте http://stackoverflow.com/questions/20091791/change-custom-actionbar-title –