Несмотря на то, что добавление текстового представления на панель инструментов может решить проблему ограничения стиля заголовка, с этим есть проблема. Поскольку мы не добавляем его в макет, у нас нет особого контроля над его шириной. Мы можем использовать либо wrap_content, либо match_parent.
Теперь рассмотрим сценарий, в котором у нас есть searchView в виде кнопки на правом краю панели инструментов. Если содержание заголовка больше, оно будет поверх кнопки, скрывая его. Невозможно управлять этим, кроме установки ширины метки, и это то, чего вы не хотите делать, если хотите иметь адаптивный дизайн.
Итак, вот решение, которое сработало для меня, которое немного отличается от добавления текстового представления на панель инструментов. Вместо этого добавьте панель инструментов и текстовое представление в относительный макет и убедитесь, что текстовое представление находится наверху панели инструментов. Затем мы можем использовать соответствующие поля и убедиться, что текстовое представление отображается там, где мы хотим, чтобы оно отображалось.
Убедитесь, что на панели инструментов не отображается заголовок.
Вот XML для этого решения:
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary">
<android.support.v7.widget.Toolbar
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:id="@+id/activity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:titleTextAppearance="@style/AppTheme.TitleTextView"
android:layout_marginRight="40dp"
android:layoutMode="clipBounds">
<android.support.v7.widget.SearchView
android:id="@+id/search_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:foregroundTint="@color/white" />
</android.support.v7.widget.Toolbar>
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="90dp"
android:text="@string/app_name"
android:textSize="@dimen/title_text_size"
android:textColor="@color/white"
android:lines="1"
android:layout_marginLeft="72dp"
android:layout_centerVertical="true" />
</RelativeLayout>
Решает проблему @ ankur-chaudhary, упомянутую выше.
person
Deepak G M
schedule
26.02.2016