2015-06-17 3 views
8

У меня есть проблема с рушатся панель инструментов, на расширенном состоянии, я хочу размытую тень под текстом, я использую этот код:Сворачивания панели с textShadow

collapsingToolbar.setExpandedTitleTextAppearance(R.style.toolbar_text); 

с:

<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> 

я могу измените textColor, он работает, но тень не работает. Я пробовал много разных значений для тени.

Можно ли отбросить тень к обрушенному тексту? Поскольку на светлых изображениях заголовок иногда трудно читать.

+0

ли вы решить эту проблему? –

+0

нет, это связано с Google appcompat lib. Возможно, дождитесь обновления. – neoteknic

+0

Теперь исправлено. – Twometer

ответ

1

Похоже, с конструктивной поддержкой lib версии 22.2.1, это невозможно.

Вот де скомпилированные способ настройки внешнего вида текста:

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(); 
} 

И устанавливает только цвет и размер текста.

ОБНОВЛЕНИЕ: Поскольку вы упомянули, что вам нужно добавить тень к заголовку, чтобы было легче читать на светлых фонах, я предлагаю вам изменить расширенный цвет заголовка на темный оттенок. Например.

collapsingToolbar.setExpandedTitleColor(0x000); 
0

У меня есть текстовая тень по следующему коду. Я использовал FrameLayout в позиции ImageView, а FrameLayout имеет как ImageView, так и View с градиентом фона.

  •  <ImageView 
          android:id="@+id/groupIcon" 
          android:layout_width="match_parent" 
          android:layout_height="match_parent" 
          android:fitsSystemWindows="true" 
          android:scaleType="centerCrop" 
          android:src="@drawable/drawer_header_background" 
          app:layout_collapseMode="parallax" /> 
    
         <View 
          android:layout_width="match_parent" 
          android:layout_height="match_parent" 
          android:background="@drawable/coll_toolbar_image_gradient" /> 
        </FrameLayout> 
    

coll_toolbar_image_gradient.xml

<gradient 
    android:angle="90" 
    android:centerColor="#00ffffff" 
    android:endColor="#aa000000" 
    android:startColor="#aa000000" /> 
<corners android:radius="0dp" /> 

Смежные вопросы