android 修改menu 背景及添加图标

阅读: 评论:0

android 修改menu 背景及添加图标

android 修改menu 背景及添加图标


背景:
更改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小时内删除。

标签:图标   背景   android   menu
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23