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

问题描述 投票:23回答:4

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

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

android android-layout android-collapsingtoolbarlayout android-design-library
4个回答
17
投票

看看这个图书馆multiline-collapsingtoolbar

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

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


4
投票

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

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

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


4
投票

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

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

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

查看完整代码here。最终结果是:

Multiline toolbar


2
投票

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

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

将库添加到项目中,并用CollapsingToolbarLayout替换net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout

© www.soinside.com 2019 - 2024. All rights reserved.