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  

  • popup背景故障与材料devise
  • IllegalArgumentException无效负载项types - 使用ActionBarCompat
  • SearchView占用新ActionBarCompat中的所有空间
  • ActionBarActivity中的“android-support-v7-appcompat”和ListActivity在Same活动中
  • 行动酒吧不显示行动视图图标
  • 行动酒吧片段活动
  • 从ActionBarSherlock移植到ActionBarCompat时常见的问题是什么?
  • 实施一个行动栏:ABSherlock或ABCompat?
  • 我发现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