Как я могу многострочно расширять заголовок 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]()
Я хотел бы видеть заголовок на нескольких строках, а не показывать многоточие.
Ответы
Ответ 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