Фон
В прошлом Google всегда показывал панель инструментов, чтобы заголовок был выровнен по левому краю:
https://material.io/develop/android/components/app-bar-layout/
Однако в последнее время кажется, чтов некоторых приложениях заголовок центрируется, даже если слева и справа нет симметричного содержимого.Пример: Приложение "Сообщения" :
И "Приложение "Новости Google" :
Также обновлено руководство по материалам, здесь .Пример:
Некоторые люди любят называть это «материальным дизайном 2.0», поскольку в нем обновляются разные вещи.
Проблема
Хотя существует множество подобных вопросов о StackOverflow с того времени, когда он назывался «ActionBar» (пример здесь ), здесь все по-другому, потому что он должен иметь библиотеку поддержки (AKA) Android-X ") есть способ справиться с этим правильно, потому что все изменилось, и теперь Google должен поддерживать его, поскольку это является частью руководящих принципов и частью различных приложений для Android.
То, что я пробовал
Я попытался добавить представление на панели инструментов, но даже покрасив представление, вы можете увидеть, что оно на самом деле не центрировано, автоматически, и это до добавления дополнительных элементов действия или кнопки вверх:
activity_main.xml
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="title"
android:gravity="center" android:background="#33ff0000"
android:id="@+id/titleTextView"/>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Это решение аналогично многим другим, представленным в других потоках StackOverflow, похожих на этот вопроси так же, как там, этоне удается действительно центрировать текст, хотя при попытке Google он центрируется правильно, независимо от количества элементов действий и других представлений вокруг.
Существует также более приятный обходной путь:одна панель инструментов на каждой стороне, и сделать TextView иметь запас, который является максимальным для обоих.Для этого есть даже библиотека: « Toolbar-Center-Title » ... Но опять же, это обходной путь.Не то, о чем я спрашиваю.
Вопрос
Есть ли теперь официальный способ иметь центрированный заголовок на панели инструментов, независимо от того, сколько элементов действий есть, и независимо от того, что находится на другой стороне (кнопка вверх,например) ?
Если так, как это можно сделать?
ПРИМЕЧАНИЕ. Опять же, меня не интересуют обходные пути.Есть много обходных путей, и я могу думать об этом самостоятельно.