Почему не отображается заголовок на моей панели инструментов?

#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._Main‌​Activity}: 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 ). Посмотрите на ошибку, на нее есть множество ответов. :]