2012-03-14 2 views
2

Я пытаюсь добавить тень под названием ActionBar. Я попытался поместить атрибутыДобавить тень на ActionBar

<item name="android:textColor">@color/white</item> 
    <item name="android:shadowRadius">1</item> 
    <item name="android:shadowColor">@color/black</item> 
    <item name="android:shadowDy">1</item> 

но в то время как textColor работает, тени нет. Я использую ActionBarSherlock 3.5, но я думаю, что он тоже не будет работать на языке native.

Благодаря

ответ

2

Я не могу заставить это работать либо на родном, либо на заднем плане ABS. Использование упомянутого подхода here отлично работает. Для макета android:customNavigationLayout вы можете просто добавить один textView с вашим стилем. Это имеет недостаток в том, что нужно программировать название в своей активности/базе. Это можно сделать, захватив значение от Activity.getTitle(), что и делает панель действий, если заголовок установлен. Недостаточно времени для дальнейшего изучения!

ps Привет Крис!

1

Я не пробовал на родном, но, как отмечает Джейк, если он не работает на родной, он обыкновение поддерживать его в АБС.

Если вы действительно хотите изменить это, и это будет работать только по предварительному 3.2 (или 4.0 с ABS 4.X) Затем вы можете захватить res/layout/abs__action_bar_title_item.xml поместить его в свой проект и изменить:

<com.actionbarsherlock.internal.widget.ScrollingTextView 
     android:id="@+id/abs__action_bar_title" 
     ... 
     android:shadowRadius="1" 
     ... /> 

Конечно, я не рекомендую это! Поскольку он НЕ будет работать на собственных реализациях.

0

Добавление тени под названием (родной) ActionBar работает с API уровня 18 (Android Jelly Bean 4.3). Прекрасно работает в API уровня 19 (Android KitKat 4.4).

Протестировано с помощью тренажеров и родных устройств, начиная с уровня API 15 (Android Ice Cream Sandwich 4.0.3 - 4.0.4).

<!-- Settings activity theme --> 
<style name="AppSettingsTheme" parent="android:Theme.Holo.Light"> 
    <!-- Set the action bar custom style --> 
    <item name="android:actionBarStyle">@style/AppActionBar</item> 
</style> 

<!-- Action bar style --> 
<style name="AppActionBar" parent="@android:style/Widget.Holo.ActionBar"> 
    <item name="android:titleTextStyle">@style/AppActionBarTitleText</item> 
    <item name="android:displayOptions">showTitle</item> 
</style> 

<!-- ActionBar title text --> 
<style name="AppActionBarTitleText" 
    parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/white_text</item> 
    <item name="android:shadowColor">@color/text_shadow</item> 
    <item name="android:shadowDx">3</item> 
    <item name="android:shadowDy">3</item> 
    <item name="android:shadowRadius">1.5</item> 
</style> 

Это скриншот из API 18 эмулятора:

enter image description here

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