是否可以长按某个菜单项来执行某个操作?我尝试在长按某个菜单项时显示下拉菜单。
下面是菜单xml
<item
android:id="@+id/add_item"
android:icon="@drawable/ic_add_black_24dp"
android:showAsAction="ifRoom"
android:title="Add Item">
</item>
<item
android:id="@+id/open_menu"
android:icon="@drawable/ic_menu_black_24dp"
android:showAsAction="ifRoom|withText"
android:title="Open Menu">
</item>
我希望在长按第一项时显示下拉菜单
4条答案
按热度按时间yv5phkfx1#
您可以使用
Handler
和Runnable
执行此操作。在run()
方法中,获取所需MenuItem
的View
,并将onLongClick
侦听器设置为View
。以下是工作代码:
输出:
drkbr07n2#
轻松使用Kotlin(并保持与其他图标相同的风格):
view_action_button.xml
:用法:
只需更改
R.id.your_item
和anyFunction()
uurity8g3#
下面是您问题的另一个解决方案。我使用了res/menu/menu.xml中的一个菜单,如下所示:
这是我的活动类,我在菜单项中添加了一个imagebutton,并为其设置了一个图像资源,Backgrod设置为null,以使menuItem透明。
o8x7eapl4#
Remie's answer非常适合我,谢谢!
在我的例子中,用MenuHost实现到Fragment中。
这是我受Remie's answer启发对MenuItem进行的扩展。