Android 开发

修改PopupMenu宽度

2020-06-08  本文已影响0人  离而不骚

Field mPopupHelper = popupMenu.getClass().getDeclaredField("mPopup");

mPopupHelper.setAccessible(true);

MenuPopupHelper mHelper = (MenuPopupHelper) mPopupHelper.get(popupMenu);

// 显示图标

mHelper.setForceShowIcon(true);

Class standardMenuClass = Class.forName("androidx.appcompat.view.menu.StandardMenuPopup");

// 设置不测量item宽度

Field mHasContentWidth = standardMenuClass.getDeclaredField("mHasContentWidth");

mHasContentWidth.setAccessible(true);

mHasContentWidth.setBoolean(mHelper.getPopup(), true);

// 设置弹出框宽度

Field mContentWidth = standardMenuClass.getDeclaredField("mContentWidth");

mContentWidth.setAccessible(true);

mContentWidth.setInt(mHelper.getPopup(), 400);

上一篇下一篇

猜你喜欢

热点阅读