34

我的问题是下一个。我会使用相对较大的文本作为 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>

在此处输入图像描述

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

4

5 回答 5

18

随着新 Material Design 1.2.0-alpha05 的发布,这个特性被实现为原生函数。

使用(1.2.0-alpha05)之后的版本实现材质库:

implementation 'com.google.android.material:material:1.2.0-alpha05'

将此行添加到 Collapsing Toolbar Layout 的 XML 中(此示例我将 2 行设置为最大)

app:maxLines="2"

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

 collapsingtoolbar.setMaxLines(2);
于 2020-04-08T20:19:10.177 回答
18

签出这个库multiline-collapsingtoolbar

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

作为设计支持库,应兼容API 7(Android 2.1)及以上

于 2016-02-08T08:25:09.473 回答
5

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

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

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

于 2015-07-21T02:29:57.633 回答
4

一种更简单的方法是添加一个添加到 CollapsingToolbar 的自定义布局并将其固定。

需要注意的一些注意事项:

  • 工具栏应该具有折叠内容的高度,这可以通过代码或 XML 来完成。
  • 您要隐藏的元素必须在布局 XML 文件中的工具栏定义之前
  • 您希望保持可见的元素必须位于布局 XML 文件中的工具栏定义之后。

在此处查看完整代码。最终结果是:

多行工具栏

于 2017-04-01T20:32:18.040 回答
4

我在这个图书馆的帮助下做到了这一点

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

将库添加到您的项目中并替换CollapsingToolbarLayoutnet.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout

于 2016-02-08T07:03:30.340 回答