Удалить заголовок на панели инструментов в appcompat-v7

Документация Toolbar говорит

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

Как правильно удалить заголовок?

14 ответов

Решение
getSupportActionBar().setDisplayShowTitleEnabled(false);

Правильный способ скрыть / изменить заголовок панели инструментов:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);

Это потому, что когда вы звоните setSupportActionBar(toolbar);тогда getSupportActionBar() будет нести ответственность за обработку всего на панели действий, а не на объекте панели инструментов.

Смотрите здесь

Попробуй это...

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_landing_page); 

    .....

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_landing_page);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    .....

 }

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

<activity android:name="NAME OF YOUR ACTIVITY"
    android:label="" />

Надеюсь, это поможет и другим.

Еще один способ удалить заголовок из вашего Toolbar это к null это так:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);

Этот

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);

Если вы используете панель инструментов, попробуйте следующий код:

toolbar.setTitle("");
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

принять к сведению эту строку getSupportActionBar().setDisplayShowTitleEnabled(false);

Просто добавьте этот атрибут на вашу панель инструментов

app:title=" "

Вы можете использовать любой из следующих способов, так как оба работают одинаково:getSupportActionBar().setDisplayShowTitleEnabled(false); а также getSupportActionBar().setTitle(null);

Где использовать:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);

Или же:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);

Правильный способ скрыть заголовок / метку панели инструментов следующими кодами:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);
Toolbar toolbar = findViewById(R.id.myToolbar);
    toolbar.setTitle("");

Если вы используете панель инструментов по умолчанию, вы можете добавить эту строку

Objects.requireNonNull(getSupportActionBar()) setDisplayShowTitleEnabled(ложь).

Я не знаю, правильный ли это путь или нет, но я так изменил свой стиль.

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

Это очевидно, но App Themeвыбор в дизайне предназначен только для отображения черновика во время редактирования макета, не имеет отношения к просмотру реального приложения в мобильном телефоне. В моем случае в дизайне нет строки заголовка, но она всегда была на мобильном телефоне.

Я начинаю с программирования для Android и пытаюсь найти правильное решение.

Просто измените файл манифеста (AndroidManifest.xml) недостаточно, потому что необходимо заранее определить стиль styles.xml. Также бесполезно менять файлы макета.

Все предлагаемые решения в Java или Kotlinпотерпел неудачу для меня. Некоторые из них вызывают сбой приложения. И если кто-то (как я) никогда не намеревается использовать строку заголовка в приложении, статическое решение будет чище.

Для меня единственное решение, которое работает в 2019 году (Android Studio 3.4.1):

в styles.xml (в app/res/values) добавьте строки:

   <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

После в AndroidManifest.xml (в приложении / манифестах)

Заменить

android:theme="@style/AppTheme">

по

android:theme="@style/AppTheme.NoActionBar">

toolbar.setTitle(null);// удаляем заголовок

Никто не упомянул:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

Просто добавив пустую строку в label из <application> (не <activity>) в AndroidMenifest.xmlкак это -

<application
            android:label=""
            android:theme="@style/AppTheme">
            <activity
             .
             .
             .
             .
            </activity>
    </application>

Добавьте пробел в заголовок панели инструментов в XML

app:title=" "
Другие вопросы по тегам