#android #android-layout #android-xml #android-toolbar
#Android #android-макет #android-xml #android-панель инструментов
Вопрос:
Заголовок на моей панели инструментов не отображается.
Вот мой xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.mddri_.myeats.main._MainActivity">
<android.support.v7.widget.Toolbar
android:id="@ id/toolbar_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@color/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:title="@string/app_label"
android:titleTextColor="@color/textColor"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<android.support.design.widget.TabLayout
android:id="@ id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"
android:layout_below="@ id/toolbar_main"
android:background="@color/colorPrimary"
/>
<android.support.v4.view.ViewPager
android:id="@ id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@ id/tab_layout"/>
Я не ссылаюсь на панель инструментов в своем Java-коде, но я могу показать вам это, если вам это нужно. Похоже, я должен иметь возможность установить заголовок панели инструментов, просто используя android:title="desired_title"
. Панель инструментов отображается, имеет правильный цвет и размер, но заголовок не отображается.
Комментарии:
1. попробуйте getSupportActionBar().setTitle(заголовок);
Ответ №1:
Используйте следующее.
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_main);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Title");
Комментарии:
1.Этот код выдает ошибку при
setSupportActionBar(topToolBar);
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mddri_.myeats/com.mddri_.myeats.main._MainActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
2. Как объясняется в ошибке, вы не установили для actionbar по умолчанию значение false, прежде чем пытаться установить панель инструментов. Объявите тему для действия, используя стиль с
windowActionBar
значением false или стиль, который наследует родительский элемент с NoActionBar (напримерTheme.AppCompat.Light.NoActionBar
). Посмотрите на ошибку, на нее есть множество ответов. :]