Как я могу многострочный расширенный заголовок 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

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

4 ответов


проверить эту библиотеку multiline-collapsingtoolbar.

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

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

или

следуйте этому ответу CollapsingToolbarLayout пользовательский вид


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

https://stackoverflow.com/a/31529101/834692

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


более простым подходом было бы добавить пользовательский макет, добавленный в CollapsingToolbar и закрепить его, панель инструментов должна иметь одинаковую высоту, это можно сделать с помощью кода, конечный результат:

Multiline toolbar

проверка полного кода здесь


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

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

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