Android:Appcompat 21如何在操作栏上添加阴影

我从新的appcompat中添加了新的材质设计操作栏,并使用了新的工具栏小部件。 我在xml的工具栏上设置了自定义背景,但我的问题是没有显示操作栏的阴影。 你知道怎么做吗?

工具栏代码

 

MyTheme风格

  @color/abc_primary_text_material_dark @color/abc_primary_text_material_dark #ffff8800  

MyTheme.Popup风格

  #ffffff  

更新

就像@Justin鲍威尔建议我在我的主题上添加actionBarStyle,但仍然没有投影。

MyTheme风格(更新)

  @color/abc_primary_text_material_dark @color/abc_primary_text_material_dark #ffff8800 @style/Widget.AppCompat.Light.ActionBar.Solid.Inverse  

我发现Google IO应用中的解决方案对我自己来说是可以接受的,但是没有看到博客或Stackoverflow的post完全解释它。 你可以做的是从https://github.com/google/iosched/blob/master/android/src/main/res/drawable-xxhdpi/bottom_shadow.9.png获取他们的Apache 2许可抽屉影子资产,然后在您的活动布局:

       

而标题阴影是

 < ?xml version="1.0" encoding="utf-8"?>  @drawable/bottom_shadow  

API级别<21。 就像https://github.com/google/iosched/blob/master/android/src/main/res/values/refs.xml和https://github.com/google/iosched/blob/master/android/ src / main / res / values-v21 / refs.xml 。

详细说明,这里是toolbar.xml

 < ?xml version="1.0" encoding="utf-8"?>  

对于5.0之前的版面,您可以通过在内容的FrameLayout中添加foreground="?android:windowContentOverlay" ,将阴影添加回工具栏下方的内容。

例如:

 < ?xml version="1.0" encoding="utf-8"?>     

这就是我展示阴影的方式:

          

然后topshadow布局看起来像这样(调整5dp以获得你想要的阴影高度):

  

background_shadow.xml

    

toolbar_actionbar.xml

  

actionbar_background.xml

                

添加到actionbar_style背景

  

添加到Basetheme