Android操作栏溢出菜单移除阴影



我想移除我的操作栏溢出菜单周围的阴影,但我没有发现任何允许的属性。我扩展了theme。appcompat。

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="actionOverflowButtonStyle">@style/OverflowButton</item>
    <item name="actionOverflowMenuStyle">@style/OverflowMenu</item>
    <item name="actionBarStyle">@style/MyActionBarLogo</item>
    <item name="android:dropDownListViewStyle">@style/PopupMenuListView</item>
    <item name="dropDownListViewStyle">@style/PopupMenuListView</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>
<style name="MyActionBarLogo" parent="Widget.AppCompat.ActionBar">
    <item name="background">@color/white</item>
    <item name="displayOptions">useLogo|showHome</item>
    <item name="elevation">0dp</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
<style name="OverflowButton" parent="@style/Widget.AppCompat.ActionButton.Overflow">
    <item name="android:src">@mipmap/menu_logo</item>
</style>
<style name="OverflowMenu" parent="@style/Widget.AppCompat.PopupMenu.Overflow">
    <item name="overlapAnchor">false</item>
    <item name="android:dropDownVerticalOffset">52dp</item>
    <item name="android:dropDownHorizontalOffset">10dp</item>
</style>
<style name="PopupMenuListView" parent="@style/Widget.AppCompat.ListView.DropDown">
    <item name="android:divider">@drawable/menu_divider</item>
    <item name="android:dividerHeight">1dp</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:background">@color/white</item>
</style>
<style name="PopupMenu" parent="@style/Widget.AppCompat.ListPopupWindow">
    <item name="android:popupBackground">@color/white</item>
</style>

https://i.stack.imgur.com/94fqF.jpg

您可以尝试解决这个

getSupportActionBar().setElevation(0);

<style name="MyActionBarLogo" parent="Widget.AppCompat.ActionBar">
    <item name="background">@color/white</item>
    <item name="displayOptions">useLogo|showHome</item>
    <item name="elevation">0dp</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:actionDropDownStyle">@style/DropDownMenuStyle</item> 
</style>

<style name="DropDownMenuStyle" parent="Widget.AppCompat.Spinner.DropDown.ActionBar">
    <item name="android:background">@android:color/transparent</item>
</style> 

你需要将零标高样式应用到正确的元素上,在本例中是actionOverflowMenuStyle。

(这是使用appcompat)

<style name="Theme.myapp" parent="Theme.AppCompat.Light">
    <item name="actionOverflowMenuStyle">@style/Theme.myapp.Widget.PopupMenu.Overflow</item>
</style>
然后

<style name="Theme.myapp.Widget.PopupMenu.Overflow" parent="Widget.AppCompat.PopupMenu.Overflow">
    <item name="elevation">0dp</item>
    <item name="android:popupElevation">0dp</item>
</style>

最新更新