#android #styles #toolbar #title
#Android #стили #панель инструментов #Название
Вопрос:
У меня есть приложение с
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
В некоторых действиях я добавляю панель инструментов в xml вручную, которая по умолчанию содержит текст заголовка @string / app_name.
Я знаю, что могу вызвать setDisplayShowTitleEnabled(false) или что-то в этом роде, но мне это не подходит.
Мне нужен другой способ, например, изменить что-то в AppTheme, чтобы текст заголовка был изменен во всех приложениях по умолчанию.
Как это сделать?
Панель инструментов, которую я добавил:
<androidx.appcompat.widget.Toolbar
android:id="@ id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/colorAccent"
app:navigationIcon="@drawable/ic_default_nav_icon_white" />
Ответ №1:
Вы можете попробовать создать новый файл макета и добавить в него код панели инструментов. Смотрите ниже, это layout_app_bar.xml Где вы можете указать название панели инструментов.
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@ id/toolbar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/colorPrimary"
android:elevation="4dp"
app:title="WhateverName"
app:titleTextAppearance="@style/AppbarTitle"
app:titleTextColor="@color/colorWhite" />
Затем в свои действия вы можете включить файл макета, как и любой другой тег. вы можете использовать этот единый файл макета панели инструментов во всех действиях.
<LinearLayout>
<include
android:id="@ id/appbar"
layout="@layout/layout_app_bar" />
</LinearLayout>
Я надеюсь, что это помогло вам.
Счастливого кодирования!!!
Комментарии:
1. Да, вы правы, я пробовал именно так. Но проблема в том, что если я установлю атрибут ‘title’ на панели инструментов в xml на «» (пустая строка), Android фактически вместо пустой строки устанавливает @string/app_name . Странное поведение.