转
背景:
更改menu 背景主题:
1. 设置l 中代码
app:popupTheme="@style/AppTheme.PopupOverlay"android:theme="@style/ToolbarPopupTheme"
2 在style中添加一个新的style格式(values/style 下)
<style name="ToolbarPopupTheme" parent="@style/ThemeOverlay.AppCompat.Dark"><item name="overlapAnchor">false</item> <!--设置不覆盖锚点--><item name="android:dropDownVerticalOffset">4dp</item><item name="android:layout_marginRight">4dp</item><item name="android:popupBackground">@color/colorPrimary</item> <!--更改背景颜色--></style>
3.在AppTheme中添加(另一个style目录下values-v21/style 下)
<item name="actionOverflowMenuStyle">@style/ToolbarPopupTheme</item>
图标:
活动添加一个方法;利用反射更改其属性,让其可以显示图标(默认不能更改)
private void setIconsVisible(Menu menu, boolean flag) {//判断menu是否为空if(menu != null) {try {//如果不为空,就反射拿到menu的setOptionalIconsVisible方法Method method = Class().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);//暴力访问该方法method.setAccessible(true);//调用该方法显示iconmethod.invoke(menu, flag);} catch (Exception e) {e.printStackTrace();}}}
然后在 public boolean onCreateOptionsMenu(Menu menu)方法中调用方法 setIconsVisible(menu,true);
在在对应的l中添加对的icon.
注:在toolbar上的菜单默认显示图标,在menu里面的(三个点里面的)默认不显示,需要通过发射机制更改。
完。
本文发布于:2024-02-04 13:07:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170707957155845.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |