Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Collapsing toolbar with textShadow

I have a problem with collapsing toolbar, on expanded state I want a blurry shadow under the text, I use this code:

collapsingToolbar.setExpandedTitleTextAppearance(R.style.toolbar_text);

with :

<style name="toolbar_text">
    <item name="android:textColor">@color/white</item>
    <item name="android:shadowColor">@color/black</item>
    <item name="android:shadowDx">2</item>
    <item name="android:shadowDy">2</item>
    <item name="android:shadowRadius">4</item>
</style>

I can change the textColor, it works but the shadow doesn't work. I have tried many different value for shadow.

Is it possible to cast a shadow to the collapsed text? Because on light images the title is sometimes hard to read.

like image 562
neoteknic Avatar asked Jun 17 '15 13:06

neoteknic


2 Answers

Instead of using a textshadow, use a text protection scrim. See this question: Android CollapsingToolbarLayout Title background

like image 148
Andrew Avatar answered Oct 24 '22 07:10

Andrew


Looks like, as of design support lib version 22.2.1, it is not possible.

Here's the de-compiled method for setting text appearance:

void setExpandedTextAppearance(int resId) {
    TypedArray a = this.mView.getContext().obtainStyledAttributes(resId, styleable.TextAppearance);
    if(a.hasValue(styleable.TextAppearance_android_textColor)) {
        this.mExpandedTextColor = a.getColor(styleable.TextAppearance_android_textColor, 0);
    }

    if(a.hasValue(styleable.TextAppearance_android_textSize)) {
        this.mExpandedTextSize = (float)a.getDimensionPixelSize(styleable.TextAppearance_android_textSize, 0);
    }

    a.recycle();
    this.recalculate();
}

And it is setting only text colour and size.

UPDATE: Since you mentioned that you need to add shadow to the title to make it easier to read on light backgrounds, I suggest you change the expanded title colour to a dark shade. E.g.

collapsingToolbar.setExpandedTitleColor(0x000);
like image 23
iceman Avatar answered Oct 24 '22 06:10

iceman