The menu from Chromium Android appmenu. 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.
-
Install dependency
-
Jcenter:
implementation 'xyz.aprildown:chrome-menu:0.1.1'
-
JitPack:
-
Add it in your root build.gradle at the end of repositories:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } } ``
-
Add the dependency
dependencies { implementation 'xyz.aprildown:ChromeMenu:0.1.1' }
-
-
-
Set up touch listener
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
:<!-- 256dp is the original width --> <dimen name="cm_menu_width">258dp</dimen>
-
0.1.1
- Pull changes from chromium
- fffabbc: IPH : Set focus to highlighted menu item after opening app menu
- ead7304: Add common colors in night- and some initial clean up on themes
- Add proguard rules #1.
- Pull changes from chromium
-
0.1.0
To set custom menu width, use
cm_menu_width
instead of the oldmenu_width
.