{"id":22165819,"url":"https://github.com/tutorialsandroid/menusheet","last_synced_at":"2025-07-23T00:05:01.383Z","repository":{"id":114468472,"uuid":"347642246","full_name":"TutorialsAndroid/MenuSheet","owner":"TutorialsAndroid","description":"MenuSheet is an Android library which presents a view from the bottom of the screen. This library will help you to show bottom sheet menu on your app.","archived":false,"fork":false,"pushed_at":"2023-09-04T16:37:29.000Z","size":323,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-08T12:45:02.149Z","etag":null,"topics":["android","android-app","android-development","android-library","android-studio","bottomsheet","menu","menu-navigation"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TutorialsAndroid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-14T13:19:20.000Z","updated_at":"2022-04-11T13:36:45.000Z","dependencies_parsed_at":"2025-01-29T21:47:59.528Z","dependency_job_id":null,"html_url":"https://github.com/TutorialsAndroid/MenuSheet","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/TutorialsAndroid/MenuSheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TutorialsAndroid%2FMenuSheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TutorialsAndroid%2FMenuSheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TutorialsAndroid%2FMenuSheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TutorialsAndroid%2FMenuSheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TutorialsAndroid","download_url":"https://codeload.github.com/TutorialsAndroid/MenuSheet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TutorialsAndroid%2FMenuSheet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266592198,"owners_count":23953109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","android-development","android-library","android-studio","bottomsheet","menu","menu-navigation"],"created_at":"2024-12-02T05:16:46.391Z","updated_at":"2025-07-23T00:05:01.359Z","avatar_url":"https://github.com/TutorialsAndroid.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://github.com/TutorialsAndroid/MenuSheet/blob/main/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png)\n\n# MenuSheet [![](https://jitpack.io/v/TutorialsAndroid/MenuSheet.svg)](https://jitpack.io/#TutorialsAndroid/MenuSheet) ![API](https://img.shields.io/badge/API-14%2B-red.svg?style=flat) [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0) ![Known Vulnerabilities](https://snyk.io/test/github/TutorialsAndroid/MenuSheet/badge.svg)\n\nMenuSheet is an Android library which presents a view from the bottom of the screen. This library will help you to show bottom sheet menu on your app.\n\n## And Don't Forget To Follow Me On Instagram\n\n\u003cp align=\"center\"\u003eFollow me on instagram to stay up-to-date https://instagram.com/a.masram444\n\n## ScreenShot\n![](https://github.com/TutorialsAndroid/MenuSheet/blob/main/screenshot/Screenshot_1615727481r1.png)\n![](https://github.com/TutorialsAndroid/MenuSheet/blob/main/screenshot/Screenshot_1615727486r1.png)\n\n## Setup\nThe simplest way to use MenuSheet is to add the library as dependency to your build.\n\n## Gradle\n\nAdd it in your root build.gradle at the end of repositories:\n\n    allprojects {\n        repositories {\n            ...\n            maven { url 'https://jitpack.io' }\n        }\n    }\n\nStep 2. Add the dependency\n\n    dependencies {\n            implementation 'com.github.TutorialsAndroid:MenuSheet:v1.0'\n    }\n\n## Getting Started\n\nGet started by wrapping your layout in a `MenuSheetLayout`. So if you currently have this:\n\n```xml\n\u003c!-- If your layout is like this then change to below one as i have given --\u003e\n\u003cLinearLayout\n    android:id=\"@+id/root\"\n    android:orientation=\"vertical\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\u003e\n\n    \u003cView\n        android:id=\"@+id/view1\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"/\u003e\n\n\u003c/LinearLayout\u003e\n```\n\nYou would have to update it to look like this:\n\n```xml\n\u003ccom.menu.sheet.MenuSheetLayout\n    android:id=\"@+id/bottomsheet\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\u003e\n\n    \u003c!-- Put your views here --\u003e\n    \u003cLinearLayout\n        android:id=\"@+id/root\"\n        android:orientation=\"vertical\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\u003e\n\n        \u003cView\n            android:id=\"@+id/view1\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"/\u003e\n\n    \u003c/LinearLayout\u003e\n\n\u003c/com.menu.sheet.MenuSheetLayout\u003e\n```\n\nBack in your activity or fragment you would get a reference to the MenuSheetLayout like any other view.\n\n```java\nprivate MenuSheetLayout menuSheet;\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_main);\n\n    menuSheet = (MenuSheetLayout) findViewById(R.id.bottomsheet);\n    menuSheet.setPeekOnDismiss(true); //to dismiss the menu onBackPress\n}  \n```\n\n### MenuSheetView\n\nThis component presents a BottomSheet view that's backed by a menu. It behaves similarly to the new `NavigationView` in the Design support library, and is intended to mimic the examples in the Material Design spec. It supports list and grid states, with the former adding further support for separators and subheaders.\n\nExample from the sample app.\n\n```java\n//For displaying list menu\nMenuSheetView listView =\n        new MenuSheetView(MenuActivity.this, MenuSheetView.MenuType.LIST, \"Create...\", new MenuSheetView.OnMenuItemClickListener() {\n            @Override\n            public boolean onMenuItemClick(MenuItem item) {\n                Toast.makeText(MenuActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();\n                if (menuSheet.isSheetShowing()) {\n                    menuSheet.dismissSheet();\n                }\n                return true;\n            }\n        });\nlistView.inflateMenu(R.menu.create); //pass your menu here like i have pass R.menu.create\nmenuSheet.showWithSheetView(listView);\n\n//For displaying grid menu\nMenuSheetView gridView =\n        new MenuSheetView(MenuActivity.this, MenuSheetView.MenuType.GRID, \"Create...\", new MenuSheetView.OnMenuItemClickListener() {\n            @Override\n            public boolean onMenuItemClick(MenuItem item) {\n                Toast.makeText(MenuActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();\n                if (menuSheet.isSheetShowing()) {\n                    menuSheet.dismissSheet();\n                }\n                return true;\n            }\n        });\ngridView.inflateMenu(R.menu.create); //pass your menu here like i have pass R.menu.create\nmenuSheet.showWithSheetView(gridView);\n```\n\n ## License\n\n* [Apache Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)\n\n```\nCopyright 2021 MenuSheet\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftutorialsandroid%2Fmenusheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftutorialsandroid%2Fmenusheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftutorialsandroid%2Fmenusheet/lists"}