Skip to content

whalemare/sheetmenu

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sheetmenu

Library for speedy implementation menu with BottomSheet

Release

Screenshot

Usage

Use it in Kotlin

SheetMenu("Post", listOf("Send mail", "Send telegram", "Receive parcel")).show(this)

Apply not required params for more customization

SheetMenu(
    title = "Post",
    menu = R.menu.my_custom_menu, // you can just pass menu resource if you need static items
//  actions = listOf(ActionItem(id = 0, title = "Send mail", image = getDrawableIcon())), // or create ActionItem when you need dynamic titles of icons
//  actions = listOf("Send mail", "Send telegram", "Receive parcel"), // also, you can simplify it by passing strings for showing only text of items
    layoutProvider = LinearLayoutProvider(), // linear layout enabled by default
//  layoutProvider = GridLayoutProvider() // but if you need grid, you can do it
//  layoutProvider = object: LayoutProvider { ... } // also, you can define your own layout
    onClick = { item -> Toast.makeText(this, item.title, Toast.LENGTH_SHORT).show() }, // handle clicks on item
    onCancel = { Toast.makeText(this, "Closed", Toast.LENGTH_SHORT).show() } // handle close event
).show(this)

Install

Be sure, that you have Jitpack in your root gradle file

allprojects {
    repositories {
      jcenter()
+     maven { url "https://jitpack.io" }
    }
}

Include dependency with SheetMenu in your app.gradle file with:

implementation 'com.github.whalemare:sheetmenu:2.0.2'

Roadmap

[] Customization layout of ActionItem

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.