Удалить заголовок на панели инструментов в appcompat-v7
Документация Toolbar
говорит
Если приложение использует изображение логотипа, оно должно настоятельно рекомендовать исключить заголовок и субтитры.
Как правильно удалить заголовок?
14 ответов
Правильный способ скрыть / изменить заголовок панели инструментов:
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">
Никто не упомянул:
@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=" "