Android CollapsingToolbarLayout Title background Android CollapsingToolbarLayout Title background android android

Android CollapsingToolbarLayout Title background


Use a text protection scrim(scroll down a bit). My example assumes the title text is white, so some tweaks may be necessary to optimize for your case.

Inside your CollapsingToolbarLayout, add the following after ivBigImage:

<View    android:layout_width="match_parent"    android:layout_height="@dimen/sheet_text_scrim_height_top"    android:background="@drawable/scrim_top"    app:layout_collapseMode="pin"/><View    android:layout_width="match_parent"    android:layout_height="@dimen/sheet_text_scrim_height_bottom"    android:layout_gravity="bottom"    android:layout_alignBottom="@+id/image"    android:background="@drawable/scrim_bottom"/>

In your Drawable folder, add:

scrim_top.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"><gradient    android:angle="270"    android:startColor="@color/translucent_scrim_top"    android:centerColor="@color/translucent_scrim_top_center"    android:endColor="@android:color/transparent"/></shape>

and scrim_bottom.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"><gradient    android:angle="90"    android:startColor="@color/translucent_scrim_bottom"    android:centerColor="@color/translucent_scrim_bottom_center"    android:endColor="@android:color/transparent"/></shape>

For colors, you should make these darker in initial testing so it's more obvious you have it working, but for production I used:

<color name="translucent_scrim_top">#26000000</color><color name="translucent_scrim_top_center">#0C000000</color><color name="translucent_scrim_bottom">#2A000000</color><color name="translucent_scrim_bottom_center">#0D000000</color>

And for dimensions, I used a height of 88dp.


Use a text protection scrim from the example of Amagi82 and add on the CollapsingToolbarLayout the app:expandedTitleTextAppearance parameter.

<android.support.design.widget.CollapsingToolbarLayout    android:id="@+id/collapsing_toolbar"    android:layout_width="match_parent"    android:layout_height="match_parent"    .    app:expandedTitleTextAppearance="@style/TextAppearance.Design.CollapsingToolbar.Expanded.Shadow"    .    .    app:layout_scrollFlags="scroll|exitUntilCollapsed">

For example add this on you style xml:

<style name="TextAppearance.Design.CollapsingToolbar.Expanded.Shadow">    <item name="android:shadowDy">0</item>    <item name="android:shadowDx">0</item>    <item name="android:shadowRadius">8</item>    <item name="android:shadowColor">@android:color/black</item></style>


Edit:

If you want to change the color of the toolbar once it has "shrunk", you need to set the contentScrim attribute of the collapsing toolbar layout to that color:

<android.support.design.widget.CollapsingToolbarLayout        app:contentScrim="@color/[color you want]"        ...>

Pointing the value of this attribute to the color you want the toolbar to turn into will solve your issue, as I understand it.

Hope that answers your question!