在ActionBar上添加阴影

时间:2012-03-14 08:43:18

标签: android android-actionbar actionbarsherlock

我正在尝试在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,但我认为它不适用于原生。

由于

3 个答案:

答案 0 :(得分:2)

我无法在本机或ABS后端上工作。使用提到的方法here效果很好。对于android:customNavigationLayout布局,您可以在应用样式的情况下使用单个textView。这样做的缺点是必须在您的活动/基础活动中以编程方式设置标题。这可以通过从Activity.getTitle()获取值来完成,这是操作栏在设置标题时的作用。没有足够的时间进一步研究!

ps嗨克里斯!

答案 1 :(得分:1)

我没有尝试过原生,但正如杰克所提到的,如果它不适用于原生,他就不会在ABS中支持它。

如果你真的想要覆盖它,这只能在3.2之前(或带有ABS 4.X的4.0)上工作然后你可以抓住res/layout/abs__action_bar_title_item.xml把它放在你的项目中并改变:

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

当然我不推荐这个!因为它不适用于本机实现。

答案 2 :(得分:1)

在(本机)ActionBar标题下添加阴影,从API Level 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