3

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

谢谢

4

3 回答 3

2

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

ps嗨克里斯!

于 2012-03-28T13:53:01.707 回答
1

从 API 级别 18(Android Jelly Bean 4.3)开始,在(原生)ActionBar 的标题下添加阴影。在 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 模拟器的屏幕截图:

在此处输入图像描述

于 2014-10-10T12:05:11.687 回答
1

我没有尝试过原生,但正如 Jake 所提到的,如果它在原生上不起作用,他不会在 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"
        ... />

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

于 2012-03-14T10:02:10.217 回答