我如何多线化CollapsingToolbarLayout的扩展标题?

gar*_*des 26 android android-layout android-design-library android-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>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想在多行上看到标题,而不是显示省略号.

Ami*_*ela 18

签出此库multiline-collapsingtoolbar.

multiline-collapsingtoolbar是Android设计支持库中CollapsingToolbarLayout的替代品,可以处理展开状态下的多行标题(目前硬编码为最多3行).折叠工具栏时,标题的下面一行消失,只留下顶行可见.

作为设计支持库,它应该与API 7(Android 2.1)及更高版本兼容

要么

按照此答案CollapsingToolbarLayout自定义视图

  • 第二个选项没有任何帮助...您能否更新您的答案? (2认同)

Ere*_*kçi 15

随着新 Material Design 1.2.0-alpha05 的发布,此功能作为本机功能实现。

实现版本为 after(1.2.0-alpha05) 的材质库:

implementation 'com.google.android.material:material:1.2.0-alpha05'
Run Code Online (Sandbox Code Playgroud)

将此行添加到折叠工具栏布局的 XML 中(此示例我将 2 行设置为最大值)

app:maxLines="2"
Run Code Online (Sandbox Code Playgroud)

或者,您可以以编程方式设置它

 collapsingtoolbar.setMaxLines(2);
Run Code Online (Sandbox Code Playgroud)

  • 我注意到,如果您设置 `app:maxLines="2"` 那么 `expandedTitleGravity` 属性似乎不再起作用,并且我无法将文本居中 (4认同)

bku*_*ius 5

目前似乎不支持此功能。一个可能的解决方法是使用您自己的视图,并在展开时隐藏工具栏标题。一种方法是在这里:

/sf/answers/2207037101/

希望将来的支持库版本会添加此功能。