ChromeMenu

Additional

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

Announcement

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.1'

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

    You can define header and footer and hijack menu items after they are created through the listener.

  3. 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.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.
  • 0.1.0

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