蜂窝状ActionBar标题阴影

9

如何在标题文本下添加阴影?

以下的xml不能够达到效果。

<style name="Theme" parent="android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:windowBackground">@drawable/background</item>
</style>

<style name="ActionBar" parent="android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/action_bar</item>
    <item name="android:titleTextStyle">@style/TitleTextStyle</item>
</style>

<style name="TitleTextStyle" parent="android:style/TextAppearance.Large">
    <item name="android:textColor">@color/title_text_color</item>
    <item name="android:textStyle">bold</item>
    <item name="android:shadowColor">@color/title_shadow_color</item>
    <item name="android:shadowDx">0</item>
    <item name="android:shadowDy">0</item>
    <item name="android:shadowRadius">1</item>
</style>

你尝试过增加Dx和Dy的值吗? - James
我认为这是安卓系统中的一个bug,我也无法在操作栏标题样式上实现阴影效果。 - sgarman
@sgarman 动作栏标题阴影从API Level 18(Android Jelly Bean 4.3)开始生效。 - TechAurelian
2个回答

1

在API Level 18(Android Jelly Bean 4.3)及以上版本中,可以在(本机)ActionBar的标题下添加阴影。在API Level 19(Android KitKat 4.4)中运行良好。

请参见我的答案,其中包含XML代码和屏幕截图。


1

它在那里,你只是没有看到。你需要使用shadowDxshadowDy(或两者兼用)来移动阴影。

(哇,这是一个相当老的问题,为什么除了@James的完全相关的评论之外没有答案呢?)


我想要实现的是类似于发光的效果,这就是为什么dx和dy被设置为0的原因。在我的情况下,唯一重要的是半径...但代码不起作用... - Tughi
我猜你已经尝试过设置更大的半径了吧?)即使没有位移,1像素阴影可能会出现在字体下面,或者太小而难以注意到。试试一些保险的方法,比如20。 - Ivan Bartsov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接