2012-03-14 98 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,但我认为它不适用于本机。

感谢

回答

2

我无法使用本机或ABS backport工作。使用提到的方法here很有效。对于android:customNavigationLayout布局,您可以使用应用的样式来调整单个textView。这具有必须在您的活动/基地活动中以编程方式设置标题的缺点。这可以通过从Activity.getTitle()获取值来完成,如果设置了标题,则操作栏会执行此操作。没有足够的时间进一步研究!

ps嗨克里斯!

1

我没有尝试过的人,但作为杰克提到,如果它不能在本地工作,他不会支持它的ABS。

如果你真的想覆盖它,而这将预先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 Level 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