ChromeMenu

Additional

Language
Java
Version
0.1.0 (Jan 10, 2019)
Created
Nov 26, 2018
Updated
Jan 31, 2019
Owner
DeweyReed
Contributor
DeweyReed
1
Activity
Badge
Generate
Download
Source code
APK file

Blurb

ChromeMenu

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.

Usage

  1. Install dependency

    implementation 'xyz.aprildown:chrome-menu:0.1.0'

  2. 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()

  3. Handle click events

    All events are sent to activity's onOptionsItemSelected. So override it in the activity.

    From 0.0.2, click events are handled in the listener's onMenuItemClicked

  4. Check the sample for more customization.

More Usage

  • Change menu width

    Add this line to dimens.xml:

    <!-- 256dp is the original width -->
    <dimen name="cm_menu_width">258dp</dimen>

ChangeLog and Migration

  • 0.1.0

    To set custom menu width, use cm_menu_width instead of the old menu_width.

Hmm...

If you wish to try to the original version from chromium, check out the from_chrome tag. After this tag, I've been adding extra code to make this library easier to use.