The menu from Chromium Android appmenu(Github Mirror). It can do this:

Notice the press, move, selection, up are finished in one gesture.
I love this design. It significantly improves the efficiency of using an app. So I dig into chromium, extract related code and pack them into this library.
Update: Recently, I found that getDragToOpenListener provides a similar effect.
Install dependency
implementation 'com.github.DeweyReed:ChromeMenu:0.2.0'Set up touch listener
Kotlin
val handler = AppMenuHandler(activity, listener, R.menu.menu)
val helper = AppMenuButtonHelper(handler)
btn.setOnTouchListener(helper)
listener is an AppMenuPropertiesDelegate interface or use its abstract version AbstractAppMenuPropertiesDelegate()
You can define header and footer and hijack menu items after they are created through the listener.
Check the sample for more customization.
Change menu width
Add this line to dimens.xml:
```XML
258dp ```
0.1.1
Pull changes from chromium
Add proguard rules #1.
0.1.0
To set custom menu width, use cm_menu_width instead of the old menu_width.
$ claude mcp add ChromeMenu \
-- python -m otcore.mcp_server <graph>