我们可以为 android 中的 optionsmenu 菜单项提供拖放功能吗
我们可以创建一个视图并为任何视图提供拖放功能。我在左侧图像 1、中心图像 2 和最右侧图像 3 中水平设置了 3 个图像。现在我们可以将 image3 拖动到 image 1 或 image2 位置。为了实现这一点,我们必须编写用于拖放的自定义侦听器。我想为菜单项获得类似的东西。我想在应用程序运行时将第一个菜单项拖动到最后一个位置。我可以使用以下链接中给出的代码创建菜单项。
有什么方法可以为 optionsMenu 中的菜单项提供拖放功能吗?
We can create a view and provide drag and drop functionality to any view. I have 3 images in horizontally in the left image1, in center image2 and in the right most image3 is set. Now we can drag image3 to image 1 or image2 position. To achieve that we have to write custom listeners for drag and drop. Similar thing I want to get for menu items. I want to drag first menu item to last position when the application is running. I am able to create menu item using the code given in the following link.
Is there any way to provide drag and drop capability to Menu item in optionsMenu?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为如果不创建与内置 Android 选项菜单分开的自定义选项菜单,这是不可能的。这有两个原因。
1) 当用户以任何方式触摸 MenuItem 时,只有在触摸从项目上释放后才会触发选择。没有一种干净的方法可以判断用户按下 MenuItem 的是四分之一秒还是一分钟。这使得甚至很难区分用户是否正在选择一个项目或想要拖放它。
2) MenuItems 不能转换为 Views 并且是私有 API 的一部分,因此除了它们在 OptionsMenu 中的相对位置之外,您没有办法从中获取任何类型的定位数据。
I don't believe this is possible without creating a custom options menu that is separate from the built-in Android options menu. There are 2 reasons for this.
1) When a user touches a MenuItem in any way, the selection is not triggered until the touch is released from the item. There is not a clean way to tell if the user had pressed the MenuItem for a quarter of a second or for a minute. This would make it extremely difficult to even distinguish if the user was selecting an item or wanted to drag and drop it.
2) MenuItems can't be cast to Views and are part of the private API, and as such there isn't a way for you to get any sort of positioning data out of them other than their relative position within the OptionsMenu.