Документація по Toolbar
словами
Якщо програма використовує зображення логотипу, вона повинна рішуче розглянути можливість пропуску заголовка та підзаголовка.
Який правильний спосіб видалити заголовок?
toolbar.setTitle("");
Документація по Toolbar
словами
Якщо програма використовує зображення логотипу, вона повинна рішуче розглянути можливість пропуску заголовка та підзаголовка.
Який правильний спосіб видалити заголовок?
toolbar.setTitle("");
Відповіді:
getSupportActionBar().setDisplayShowTitleEnabled(false);
setSupportActionBar()
. Вибір цієї відповіді, оскільки це, мабуть, є офіційним способом зробити це згідно з офіційною Set whether an activity title/subtitle should be displayed.
Правильний спосіб приховати / змінити назву панелі інструментів:
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="" />
Сподіваюсь, це допоможе і іншим.
<intent-filter>
ця активність, щоб дозволити користувачам відкривати ваш додаток, натиснувши URL-адресу (наприклад), діалогове вікно діагностики не матиме жодної назви!
Ще один спосіб видалити назву з вашого 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("");
Ви можете використовувати будь-який з нижче, оскільки обидва працюють однаково:
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);
Я не знаю, правильно це чи ні, але я змінив свій стиль так.
<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>
якщо ви використовуєте панель інструментів за замовчуванням, ви можете додати цей рядок коду
Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
Це очевидно, але App Theme
вибір в дизайні призначений лише для відображення чернетки під час видання верстки, не пов'язаний з реальним додатком, який шукає в мобільному телефоні. У моєму випадку у дизайні немає заголовка, але заголовок завжди був у мобільному телефоні.
Я починаю з програмування Android і борюся за пошук правильного рішення.
Просто змінити файл маніфесту ( AndroidManifest.xml
) недостатньо, тому що стиль, який потрібно заздалегідь задати, є styles.xml
. Також марно змінювати файли верстки.
Все запропоноване для мене рішення Java
або Kotlin
не вдалося. Деякі з них завершують роботу програми. І якщо хтось (як я) не збирається використовувати заголовковий рядок у додатку, статичне рішення буде чистішим.
Для мене єдине рішення, яке працює в 2019 році (Android Studio 3.4.1), це:
в styles.xml
(під додатком / res / значення) додайте рядки:
<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);
}
toolbar.setTitle(null);
// видалити заголовок
Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");