34

My problem is the next. I would use relatively large texts as CollapsingToolbarLayout title so I need to show it as multiline mode. When I try to change text appearance through the setExpandedTitleTextAppearance() method it doesn't work. The code who I used is the next:

<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

I would like to see the title on multiple lines instead of showing the ellipsis.

Zoe
  • 27,060
  • 21
  • 118
  • 148
garciparedes
  • 1,749
  • 2
  • 18
  • 34

5 Answers5

22

With the release of new Material Design 1.2.0-alpha05 this feature is implemented as a native function.

implement material library with version after(1.2.0-alpha05):

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

Add this line to XML of Collapsing Toolbar Layout (this example I set 2 lines as max)

app:maxLines="2"

Alternatively you can set it programmatically

 collapsingtoolbar.setMaxLines(2);
Eren Tüfekçi
  • 2,463
  • 3
  • 16
  • 35
  • 5
    I noticed that if you set `app:maxLines="2"` then `expandedTitleGravity` attribute doesn't seem to work anymore, and I can't center the text – Nijat Ahmadli Jul 23 '20 at 08:32
18

Checkout this library multiline-collapsingtoolbar.

multiline-collapsingtoolbar is a replacement for CollapsingToolbarLayout from the Android Design Support Library which can deal with multiline titles (currently hard-coded to a maximum of 3 lines) in the expanded state. When collapsing the toolbar, the lower lines of the title fade away to leave only the top line visible.

As the Design Support Library, it should be compatible with API 7 (Android 2.1) and above

Amit Vaghela
  • 22,772
  • 22
  • 86
  • 142
5

This doesn't seem to be supported at present. A possible workaround is to use your own view and hide the toolbar title when expanded. One approach to do this is here:

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

Hopefully a future version of the Support Library will add this.

Community
  • 1
  • 1
bkurzius
  • 4,020
  • 2
  • 34
  • 34
4

I did this with help from this library

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

add the library to your project and replace the CollapsingToolbarLayout with net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout

Nilabja
  • 4,206
  • 5
  • 27
  • 45
4

A simpler approach would be to add a custom layout added to the CollapsingToolbar and pin it.

Some of the notes to take care:

  • The the toolbar should have the height of your collapsed content, this can be done by code or at the XML.
  • The elements you want to hide must be BEFORE the toolbar definition in the layout XML file
  • The elements you want to remain visible must be AFTER the toolbar definition in the layout XML file.

Checkout the full code here. The final result is:

Multiline toolbar

htafoya
  • 18,261
  • 11
  • 80
  • 104
JavierSP1209
  • 899
  • 8
  • 17