Easy to use Overflow Menu for Jetpack Compose

Overview

Overflow Menu

Android library for Jetpack Compose providing an Overflow Menu via fast and easy to use DSL.

How to add to project

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

  allprojects {
     repositories {
       ....
       maven { url 'https://jitpack.io' }
     }
  }

Step 2. Add the dependency

  dependencies {
       implementation 'com.github.ceribe:compose-overflow-menu:version'
  }

How to use

OverflowMenu {
    shownIconsCount = 2 //How many icons will be shown on top app bar, rest will be hidden under overflow icon
    icons {
        icon {
            imageVector = Icons.Filled.Edit
            onClick = { context.toast("First Icon Clicked") }
        }
        icon {
            imageVector = Icons.Filled.Delete
            onClick = { context.toast("Second Icon Clicked") }
        }
        icon {
            label = "Third Example"
            onClick = { context.toast("Third Icon Clicked") }
        }
    }
    //Default values for icons. If icon does not have some parameter set it will use the one from defaults
    defaults {
        tint = Color.Red
    }
    //Parameters for overflow icon
    overflowIcon {
        tint = Color.Yellow
    }
}

Possible icon parameters

  • onClick - Lambda called when this icon is clicked
  • modifier - Will be applied to Icon or DropdownMenuItem
  • enabled - Will be applied to Icon or DropdownMenuItem
  • imageVector - Will be applied to Icon
  • label - Label used when this icon is hidden
  • contentDescription - Will be applied to Icon
  • tint - Will be applied to Icon

For more in examples check here

License

Copyright 2021 Ceribe Kagami

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

    https://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.
You might also like...
Money Manager Ex is a free, open-source, cross-platform, easy-to-use personal finance software
Money Manager Ex is a free, open-source, cross-platform, easy-to-use personal finance software

Money Manager Ex is a free, open-source, cross-platform, easy-to-use personal finance software. It primarily helps organize one's finances and keeps track of where, when and how the money goes.

An easy-to-use CSML API Client for Android.
An easy-to-use CSML API Client for Android.

CSML Android SDK An easy-to-use CSML API Client for Android. Overview CSML (Conversational Standard Meta Language) is an Open-Source, Domain-Specific

Abysl Asset Manager is an easy to use library management tool to index and search game assets
Abysl Asset Manager is an easy to use library management tool to index and search game assets

Abysl Asset Manager is an easy to use library management tool to index and search game assets. Features Itch.IO Library Import Hum

An easy-to-use wrapper for Lunar Client's game api.

An easy-to-use wrapper for Lunar Client's game api.

A simple and easy to use stopwatch and timer library for android

TimeIt Now with Timer support! A simple and easy to use stopwatch and timer library for android Introduction A stopwatch can be a very important widge

This is a practical project for Professional Android Developers that covers clean Architecture basics using the following: skills: Real-like coding with Kotlin, MVVM Design pattern, Kotlin Coroutines, Room database, Navigation Controller, Jetpack compose, Use cases, and Dependency injection using Dagger-Hilt. E- commerce app👕  built with Jetpack Compose and Compose Destinations. The design was inspired by Sajjad Mohammadi Nia
E- commerce app👕 built with Jetpack Compose and Compose Destinations. The design was inspired by Sajjad Mohammadi Nia

E-Commerce Clothing App 👕 This a Jetpack Compose app that replicates of an E-commerce app design I was inspired by on Dribble. It's an E-Commerce app

A Clean Architecture Cryptocurrency App (MVVM, Use Cases, Compose)

A Clean Architecture Cryptocurrency App (MVVM, Use Cases, Compose)

Samples demonstrating the features and use of Koala Plot, a Compose Multiplatform based charting and plotting library written in Kotlin.

Koala Plot Samples This repository houses samples demonstrating the use and features of Koala Plot libraries. How to run Build koalaplot-core with the

Releases(1.0.1)
Owner
Ceribe
Ceribe
A demo of the power menu with Reveal and other animations

MaterialPowerMenu A demo of the power menu with Reveal and other animations Some days ago, I saw a gif on Google+ demonstating a concept of Android Po

Naman Dwivedi 888 Oct 11, 2022
Easy-Note - Easy Note Application will help user to add and update their important notes

Easy-Note ??️ Easy Note App helps you to create your notes. You can ?? edit and

Ade Amit 0 Jan 30, 2022
Easy Note: Building a Notes app using MVVM, JetPack Compose with a clean multi-module architecture approach.

Easy Note Easy Note: Notes app using JetPack Compose and MVVM with a clean architecture approach. This app shows the usage of the new Navigation Archi

Akhilesh Patil 10 Dec 17, 2022
MVVM + Kotlin + Jetpack Compose +Navigation Compose + Hilt + Retrofit + Unit Testing + Compose Testing + Coroutines + Kotlin Flow + Io mockK

MvvmKotlinJetpackCompose Why do we need an architecture even when you can make an app without it? let's say you created a project without any architec

Sayyed Rizwan 46 Nov 29, 2022
📱 Android Library to implement Rich, Beautiful, Stylish 😍 Material Navigation View for your project with Material Design Guidelines. Easy to use.

Material NavigationView for Android ?? ?? Android Library to implement Rich, Beautiful Material Navigation View for your project with Material Design

Shreyas Patil 198 Dec 17, 2022
The easy way to use biometric authentication in your Flutter app. Supports Fingerprint, FaceID and Iris.

BiometricX The easy way to use biometric authentication in your Flutter app. Supports Fingerprint, FaceID and Iris. Demo APK. Starting $ flutter pub a

Salman S 13 Dec 15, 2022
Pomodroid is a flexible and easy to use Android Pomodoro Technique Timer.

Pomodroid - Android App Pomodroid is a flexible and easy to use Android Pomodoro Technique Timer. Unlike other services, pomodroid is free and open so

Klejvi Kapaj 8 Oct 15, 2022
An easy to use android library to let devs know how much internet-data their app is consuming

EasyAnalytics! an easy to use android library to let developers know how much internet-data their app is consuming. We can identify this as we want ba

Sachin Rajput 13 Feb 21, 2022
Calculator provides an easy to use API to evaluate mathematical expressions

Calculator Calculator provides an easy to use API to evaluate mathematical expressions created with following operators: + - * / ( ) For example: This

null 1 Nov 27, 2021
A general purpose kotlin library that use kotlin coroutines, flows and channels to provide timer features with the most easy and efficient way

Timer Timer is a general purpose kotlin library that use kotlin coroutines, flows and channels to provide timer features with the most easy and effici

Amr Saraya 3 Jul 11, 2022