【发布时间】:2023-03-26 22:38:02
【问题描述】:
在我的应用程序中,我想使用带有 icon 的 popUp 菜单,并编写以下代码。
但我想将我的 自定义布局 设置为 menu items,但不显示任何项目。
我的意思是,不显示菜单标题和图标!
我的 Java 代码:
public void onMoreMenu(View view) {
showPopupWindow(view);
}
void showPopupWindow(View view) {
PopupMenu popup = new PopupMenu(AuctionDetailPage.this, view);
try {
Field[] fields = popup.getClass().getDeclaredFields();
for (Field field : fields) {
if ("mPopup".equals(field.getName())) {
field.setAccessible(true);
Object menuPopupHelper = field.get(popup);
Class<?> classPopupHelper = Class.forName(menuPopupHelper.getClass().getName());
Method setForceIcons = classPopupHelper.getMethod("setForceShowIcon", boolean.class);
setForceIcons.invoke(menuPopupHelper, true);
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
popup.getMenuInflater().inflate(R.menu.detail_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(getApplicationContext(), "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
});
popup.show();
}
菜单代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="none">
<item
android:id="@+id/nav_2"
android:title=""
app:actionLayout="@layout/item_test"
app:showAsAction="always" />
</group>
</menu>
自定义布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp">
<ImageView
android:id="@+id/itemNav_img"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:tint="#876"
android:layout_toRightOf="@+id/itemNav_txt"
android:src="@drawable/about" />
<TextView
android:id="@+id/itemNav_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:textColor="#876"
android:text="Test" />
</RelativeLayout>
如何修复它并将我的自定义布局设置为菜单项?
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
你想把它作为一个弹出菜单还是只是想在默认菜单上自定义布局?
-
@UmangBurman,我想将自定义布局设置为菜单并将其用于弹出菜单。你能帮帮我吗?
-
是的,我也做过类似的事情……等一下……
-
@UmangBurman,谢谢我的兄弟。我会等你,请帮助我。我真的需要你的帮助。谢谢
-
好的,你遇到了什么错误?
标签: java android android-menu