欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现微信加号菜单模式

程序员文章站 2022-04-03 17:54:30
本文实例为大家分享了android实现微信加号菜单模式的具体代码,供大家参考,具体内容如下在模仿微信过程中有一个加号菜单启动着实让我有点费心,因为我去掉了自带的标题栏,想通过oncreateoptio...

本文实例为大家分享了android实现微信加号菜单模式的具体代码,供大家参考,具体内容如下

在模仿微信过程中有一个加号菜单启动着实让我有点费心,因为我去掉了自带的标题栏,想通过oncreateoptionmenu这段代码来实现传统的menu显示显然是不可能了。所以在自定义创建的状态栏里添加了一个加号的imageview,想通过监听imageview的onclick来触发popumenu的创建。基本效果与微信相似,细节方面还需多多考究。

Android实现微信加号菜单模式

Android实现微信加号菜单模式

看具体代码如下:

1、监听之后创建popumenu的java代码:

menuview.setonclicklistener(new view.onclicklistener() {
      @override
      public void onclick(view v) {
        popupmenu popupmenu=new popupmenu(mainactivity.this,v);
        popupmenu.getmenuinflater().inflate(r.menu.menu,popupmenu.getmenu());
        /*暴力破解为menu添加icon问题。失败了。*/
        /*if (popupmenu!=null){
          try {
            method method=popupmenu.getclass().getdeclaredmethod("setoptionaliconsvisible", boolean.type);
            method.setaccessible(true);
            method.invoke(popupmenu,true);
          }catch (exception e){
            e.printstacktrace();
          }
        }*/
        popupmenu.show();
      }
});

2、popumenu的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/group"
    android:icon="@drawable/icon_menu_group"
    android:title="发起群聊">
  </item>
  <item android:id="@+id/addfriend"
    android:icon="@drawable/icon_menu_addfriend"
    android:title="添加朋友">
  </item>
  <item android:id="@+id/sao"
    android:icon="@drawable/icon_menu_sao"
    android:title="扫一扫">
 
  </item>
  <item android:id="@+id/manney"
    android:icon="@drawable/icon_menu_maney"
    android:title="收付款">
 
  </item>
  <item android:id="@+id/help"
    android:icon="@drawable/icon_menu_help"
    android:title="帮助与反馈">
 
  </item>
</menu>

但是这并没有完全解决我的问题,在menu中添加icon图片资源却无法实现。网上有相关代码和资料,说是android将添加图片资源的变量设为private类型,并且没有给开发者提供外部接口访问。我也做了相应试验,但不尽如意。还望高人成功之后能指点一二。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。