Tom*_*m11 3 android menu android-toolbar material-components-android
我通过应用程序迁移到 Material design 1.5.0。我对工具栏使用以下代码(简化):
内部活动:
<include layout="@layout/toolbar_default" />
Run Code Online (Sandbox Code Playgroud)
工具栏_默认值:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.MaterialToolbar
...
app:theme="@style/defaultToolbarTheme"
...
/>
Run Code Online (Sandbox Code Playgroud)
款式:
<style name="defaultToolbarTheme" parent="Theme.MaterialComponents.NoActionBar">
<item name="android:textColorPrimary">?app_toolbar_foreground_color</item>
<item name="android:textColorSecondary">?app_toolbar_foreground_color</item>
<item name="android:background">@drawable/item_background_menu</item>
<item name="android:itemTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>
<style name="MyActionBar.MenuTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Subtitle" />
Run Code Online (Sandbox Code Playgroud)
项目背景菜单:
<selector>
<item android:drawable="@color/blue_click" android:state_pressed="true"/>
<item android:drawable="@drawable/item_background_menu_drawable"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
item_background_menu_drawable:
<shape>
<solid android:color="itemColor"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
颜色:
<color name="itemColor">#1155a2</color>
Run Code Online (Sandbox Code Playgroud)
迁移之前,工具栏菜单如下所示:
迁移后,菜单项的工具栏列表出现了一些奇怪的顶部和底部边框/填充:
有人可以告诉如何更改此填充的颜色(目前似乎是 Android 菜单中使用的默认灰色),或者更好的是,如何删除此填充?谢谢。
为了删除此填充,请更改android:popupBackground由 attribute 定义的弹出菜单样式的属性actionOverflowMenuStyle:
<style name="defaultToolbarTheme" parent="Theme.MaterialComponents.NoActionBar">
...
<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
<style name="OverflowMenuStyle" parent="Widget.MaterialComponents.PopupMenu.Overflow">
<item name="android:popupBackground">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,另一个解决方案是:返回到旧的 PopupMenu 溢出的样式,默认情况下不添加此填充:
<style name="OverflowMenuStyle" parent="Widget.AppCompat.PopupMenu.Overflow">
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |