Подтвердить что ты не робот

Как я могу многострочно расширять заголовок CollapsingToolbarLayout?

Моя проблема следующая. Я бы использовал относительно большие тексты как заголовок CollapsingToolbarLayout, поэтому мне нужно показать его как многострочный. Когда я пытаюсь изменить внешний вид текста с помощью метода setExpandedTitleTextAppearance(), он не работает. Код, который я использовал, следующий:

<style name="ToolbarExpandedTitle">
    <item name="android:textSize">48sp</item>
    <item name="android:shadowColor">#ffffff</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:singleLine">false</item>
    <item name="android:minLines">3</item>
    <item name="android:lines">4</item>
    <item name="android:maxLines">5</item>
</style>

enter image description here

Я хотел бы видеть заголовок на нескольких строках, а не показывать многоточие.

4b9b3361

Ответ 1

Оформить заказ этой библиотеки multiline-collapsingtoolbar.

multiline-collapsingtoolbar - это замена CollapsingToolbarLayout из библиотеки поддержки дизайна Android, которая может работать с многострочными заголовками (в настоящее время жестко запрограммированными максимум на 3 строки) в развернутом состоянии. При сворачивании панели инструментов нижние строки заголовка исчезают, оставляя видимой только верхнюю строку.

Как библиотека поддержки проектирования, она должна быть совместима с API 7 (Android 2.1) и выше

Ответ 2

В настоящее время это не поддерживается. Возможным обходным путем является использование собственного представления и скрытие заголовка панели инструментов при расширении. Один из способов сделать это можно здесь:

fooobar.com/questions/229271/...

Будем надеяться, что будущая версия библиотеки поддержки добавит это.

Ответ 3

Более простой подход - добавить пользовательский макет, добавленный к CollapsingToolbar, и закрепить его.

Некоторые из примечаний, чтобы заботиться:

  • Панель инструментов должна иметь высоту свернутого содержимого, это можно сделать с помощью кода или в XML.
  • Элементы, которые вы хотите скрыть, должны быть ДО определения панели инструментов в XML файле макета.
  • Элементы, которые вы хотите оставить видимыми, должны быть ПОСЛЕ определения панели инструментов в XML файле макета.

Проверьте полный код здесь. Окончательный результат:

Multiline toolbar

Ответ 4

Я сделал это с помощью этой библиотеки

https://github.com/opacapp/multiline-collapsingtoolbar

добавить библиотеку в свой проект и замените CollapsingToolbarLayout на net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout