老师,您好。这两个反射能够解释一下吗
menuKey.setAccessible(true);
menuKey.setBoolean(config, false);
m.invoke(menu, true);
老师,求解释。谢谢
menuKey.setAccessible(true);
menuKey.setBoolean(config, false);
m.invoke(menu, true);
老师,求解释。谢谢
2015-01-18
好的,两个反射都是为了修改默认ActionBar的一些显示,第一个sHasPermanentMenuKey主要是为了,强制显示出overflowButton(部分有实体menu按键的无法显示);第二个是为了设置menuItem可以显示出icon。
关于一下三行代码:
menuKey.setAccessible(true);//menuKey这是一个属性,这行代码是强制设置可以访问,否则私有属性无法调用
menuKey.setBoolean(config, false);//就是为config(ViewConfiguration对象)的menuKey属性赋值。
m.invoke(menu, true);//m是个方法,这行意思就是调用menu(MenuBuilder对象)的setOptionalIconsVisible这个方法,传入的参数为true.
举报