Android Menu功能菜单
16lz
2021-01-23
本文实现功能
A)为Android创建菜单
B)解决Android4.0菜单图片无法显示问题
1)效果图如下
2)实现代码如下
package com.example.androidapp;import java.lang.reflect.Method;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Override/*设置菜单*/public boolean onCreateOptionsMenu(Menu menu) {/* 利用反射机制调用MenuBuilder的setOptionalIconsVisible方法设置mOptionalIconsVisible为true, * 给菜单设置图标时才可见 */ setIconEnable(menu, true); menu.add(0, 0, 0, "关于").setIcon(R.drawable.ic_launcher);menu.add(0, 1, 1, "退出").setIcon(R.drawable.ic_launcher);return super.onCreateOptionsMenu(menu);}//enable为true时,菜单添加图标有效,enable为false时无效。4.0系统默认无效 private void setIconEnable(Menu menu, boolean enable) { try{ Class<?> clazz = Class.forName("com.android.internal.view.menu.MenuBuilder"); Method m = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class); m.setAccessible(true); //MenuBuilder实现Menu接口,创建菜单时,传进来的menu其实就是MenuBuilder对象(java的多态特征) m.invoke(menu, enable); } catch (Exception e){ e.printStackTrace(); } } /*选择菜单触发事件*/public boolean onOptionsItemSelected(MenuItem item){super.onOptionsItemSelected(item);switch(item.getItemId()){case 0:break;case 1:break;}return true;}}
更多相关文章
- Android 仿3g体育门户客户端赛事图标浮出效果
- android 通用的功能集锦
- Android 使用WindowManager打造通用悬浮菜单,兼容Android P
- Android交互体验必知:功能按键事件
- android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导
- 【Android UI设计与开发】第06期:底部菜单栏(一)使用TabActivity实
- Android菜单留痕
- Android开发―利用FrameLayout实现图标中间显示文字
- Android有趣的全透明效果--Activity及Dialog的全透明(附android