課程
/移動開發
/Android
/Android攻城獅的第二門課(第2季)
menu.setHeaderTitle("上下文菜單");//標題
menu.setHeaderIcon(R.drawable.ic_launcher);//圖標
2016-06-01
源自:Android攻城獅的第二門課(第2季) 7-2
正在回答
//若要在android11以上的菜單中使用圖標必須自己寫反射
private void setIconEnable(Menu menu,boolean enable){
? ? ? ? try {
? ? ? ? ? ? Class<?> clazz = Class.forName("com.android.internal.view.menu.MenuBuilder");
? ? ? ? ? ? Method method = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class);
? ? ? ? ? ? method.setAccessible(true);
? ? ? ? ? ? method.invoke(menu, enable);
? ? ? ? }catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
然后在添加圖標前加上setIconEnable(menu, true);
舉報
本課程講帶你熟悉Android開發中常用的調試方式,菜單、調試程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-01
//若要在android11以上的菜單中使用圖標必須自己寫反射
private void setIconEnable(Menu menu,boolean enable){
? ? ? ? try {
? ? ? ? ? ? Class<?> clazz = Class.forName("com.android.internal.view.menu.MenuBuilder");
? ? ? ? ? ? Method method = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class);
? ? ? ? ? ? method.setAccessible(true);
? ? ? ? ? ? method.invoke(menu, enable);
? ? ? ? }catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
然后在添加圖標前加上setIconEnable(menu, true);