{"id":13608284,"url":"https://github.com/andrefrsousa/SuperBottomSheet","last_synced_at":"2025-04-12T14:32:32.666Z","repository":{"id":37623042,"uuid":"153350141","full_name":"andrefrsousa/SuperBottomSheet","owner":"andrefrsousa","description":"Android native BottomSheet on steroids 💪","archived":false,"fork":false,"pushed_at":"2020-10-23T09:07:53.000Z","size":865,"stargazers_count":707,"open_issues_count":16,"forks_count":76,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-04T22:04:38.476Z","etag":null,"topics":["android","android-app","android-application","android-development","android-library","android-ui","bottomsheet","bottomsheet-dialogs-library","bottomsheetdialog","bottomsheetdialogfragment","bottomsheetview","kotlin","kotlin-android","kotlin-language","kotlin-library"],"latest_commit_sha":null,"homepage":"https://andrefrsousa.github.io/SuperBottomSheet/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrefrsousa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-16T20:31:12.000Z","updated_at":"2025-03-11T12:57:51.000Z","dependencies_parsed_at":"2022-08-26T23:01:52.346Z","dependency_job_id":null,"html_url":"https://github.com/andrefrsousa/SuperBottomSheet","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefrsousa%2FSuperBottomSheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefrsousa%2FSuperBottomSheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefrsousa%2FSuperBottomSheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefrsousa%2FSuperBottomSheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrefrsousa","download_url":"https://codeload.github.com/andrefrsousa/SuperBottomSheet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248581346,"owners_count":21128151,"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","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-application","android-development","android-library","android-ui","bottomsheet","bottomsheet-dialogs-library","bottomsheetdialog","bottomsheetdialogfragment","bottomsheetview","kotlin","kotlin-android","kotlin-language","kotlin-library"],"created_at":"2024-08-01T19:01:25.941Z","updated_at":"2025-04-12T14:32:31.763Z","avatar_url":"https://github.com/andrefrsousa.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/andrefrsousa/SuperBottomSheet\" target=\"_blank\"\u003e\u003cimg width=\"250\"src=\"raw/logo.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eSuper Bottom Sheet\u003c/h1\u003e\n\u003cp align=\"center\"\u003eAndroid native bottom sheet on steroids 💪\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/andrefrsousa/SuperBottomSheet/actions?query=workflow%3A%22Android+CI%22\"\u003e\u003cimg src=\"https://img.shields.io/github/workflow/status/andrefrsousa/SuperBottomSheet/Android%20CI\" alt=\"Build Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://jitpack.io/#andrefrsousa/SuperBottomSheet\"\u003e\u003cimg src=\"https://jitpack.io/v/andrefrsousa/SuperBottomSheet.svg\" alt=\"jitpack\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://android-arsenal.com/api?level=14\"\u003e\u003cimg src=\"https://img.shields.io/badge/API-14%2B-orange.svg?style=flat\" alt=\"api\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n  \n### Summary  \n\nThis library allows you to display the bottom sheets in your application with the bonus of **animating the color of the status bar** and the **upper rounded corners** while scrolling. \n\n  \n## Download  \n  \nThis library is available in **jitpack**, so to use it you need to add the above statement to your root *build.gradle*:\n   \n```groovy  \nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\t\nAdd the dependency:\n\n```groovy \ndependencies {\n    implementation 'com.github.andrefrsousa:SuperBottomSheet:2.0.0'\n}\n```  \n  \n## Sample Project  \n\nWe have a sample project in Kotlin that demonstrates the use of the library [here](https://github.com/andrefrsousa/SuperBottomSheet/blob/master/demo/src/main/java/com/andrefrsousa/superbottomsheet/demo/MainActivity.kt).\n\n![](/raw/example.gif)\n  \n## Use  \n\nIt is recommended that you review the sample project to get a full understanding of all the features offered by the library. \nTo create a bottom sheet in your project, you only need to extend *SuperBottomSheetFragment*.\n\nExample:\n\n```kotlin\nclass MySheetFragment : SuperBottomSheetFragment() {\n\n    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {\n        super.onCreateView(inflater, container, savedInstanceState)\n        return inflater.inflate(R.layout.fragment_demo_sheet, container, false)\n    }\n}\n```\n  \n## Adjustments\n  \nThis is a group of general properties that you can define. These properties are applied to the entire *SuperBottomSheet* in your project.\n\n```xml\n// The set of DIM applied to the background from 0 to 1.\n\u003cattr name=\"superBottomSheet_dim\" format=\"float\"/\u003e  \n\n// Background color of the sheet.\n\u003cattr name=\"superBottomSheet_backgroundColor\" format=\"color\"/\u003e\n\n// To corner radius to be applied. 0 if you want none.\n\u003cattr name=\"superBottomSheet_cornerRadius\" format=\"dimension\"/\u003e  \n\n// Enable or disable the status bar animation. Default value is true.\n\u003cattr name=\"superBottomSheet_animateStatusBar\" format=\"boolean\"/\u003e\n\n// Enable or disable the radius animation. Default is true.\n\u003cattr name=\"superBottomSheet_animateCornerRadius\" format=\"boolean\"/\u003e\n\n// Enable this option if you want to skip the collapse state. Default value is false.\n\u003cattr name=\"superBottomSheet_alwaysExpanded\" format=\"boolean\"/\u003e\n\n// Default is true.\n\u003cattr name=\"superBottomSheet_cancelableOnTouchOutside\" format=\"boolean\"/\u003e\n\n// Default is true.\n\u003cattr name=\"superBottomSheet_cancelable\" format=\"boolean\"/\u003e\n\n//  Color of the status bar. The default uses the attribute value colorDark.\n\u003cattr name=\"superBottomSheet_statusBarColor\" format=\"color\"/\u003e  \n\n// The height of the bottom sheet when it is collapsed.\n\u003cattr name=\"superBottomSheet_peekHeight\" format=\"dimension\"/\u003e\n\n// The height of the bottom sheet when it is expanded. Default value is match_parent (-1).\n\u003cattr name=\"superBottomSheet_expandedHeight\" format=\"enum\"\u003e\n\t\u003cenum name=\"match_parent\" value=\"-1\" /\u003e\n        \u003cenum name=\"wrap_content\" value=\"-2\" /\u003e\n\u003c/attr\u003e\n```\n\nIf you want to change the properties of a single bottom sheet you can override these methods:\n\n```kotlin\nfun getPeekHeight(): Int {\n    // Your code goes here\n}\n\nfun getDim(): Float {\n    // Your code goes here\n}\n\nfun getBackgroundColor(): Int {\n   // Your code goes here\n}\n\nfun getStatusBarColor(): Int {\n    // Your code goes here\n}\n\nfun getCornerRadius(): Float {\n    // Your code goes here\n}\n\nfun isSheetAlwaysExpanded(): Boolean {\n    // Your code goes here\n}\n\nfun isSheetCancelableOnTouchOutside(): Boolean {\n    // Your code goes here\n}\n\nfun isSheetCancelable(): Boolean {\n    // Your code goes here\n}\n\nfun animateCornerRadius(): Boolean {\n    // Your code goes here\n}\n\nfun animateStatusBar(): Boolean {\n    // Your code goes here\n}\n\nfun getExpandedHeight(): Int {\n    // Your code goes here\n}\n\n\n```\n\n## License  \n  \n```  \nCopyright (c) 2018 André Sousa  \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.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrefrsousa%2FSuperBottomSheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrefrsousa%2FSuperBottomSheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrefrsousa%2FSuperBottomSheet/lists"}