документация Toolbar говорит
Если приложение использует изображение логотипа, оно должно решительно отказаться от названия и субтитров.
Каков правильный способ удаления заголовка?
документация Toolbar говорит
Если приложение использует изображение логотипа, оно должно решительно отказаться от названия и субтитров.
Каков правильный способ удаления заголовка?
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.setTitle("");
Вы можете использовать любой из приведенных ниже вариантов, так как оба работают одинаково:
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 actionBar = (Toolbar)findViewById(R.id.toolbar);
actionBar.addView(view);
setSupportActionBar(actionBar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
обратите внимание на эту строку getSupportActionBar().setDisplayShowTitleEnabled(false);
этот
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);
Я не знаю, правильно это или нет, но я изменил свой стиль так.
<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:title=" "
Правильный способ скрыть заголовок/метку ToolBar следующие коды:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
Никто не упомянул:
@Override
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
}
toolbar.setTitle(null); // удаляем заголовок
Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");
если вы используете панель инструментов по умолчанию, вы можете добавить эту строку кода
Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
Это очевидно, но выбор темы приложения в дизайне только для отображения черновика во время верстки, не имеет отношения к реальному приложению, которое просматривается в мобильном телефоне. В моем случае в дизайне нет строки заголовка, но строка заголовка находится в мобильном телефоне.
Я начинаю с программирования на 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">