A collection of animations, compositions, UIs using Jetpack Compose. You can say Jetpack Compose cookbook, showcase or play-ground if you want!
Why Not Compose!
A collection of animations, compositions, and UIs using Jetpack Compose. You can say Jetpack Compose cookbook, showcase or playground if you want!
Please feel free to ask for features or suggestions for improvements.
Notable Features & Libraries
- MVVM Pattern
- Navigation Component
- Hilt
- Everywhere dark mode support
- A lot of Ready to use compositions
- Material 3
- Gradle Kotlin DSL
- CI/CD
- Material 3 examples
- Animated Splash Screen (Introduced in Android 12)
Screenshots
Animations
|
|
|
| |:---------------------------------------------------------------------:|:-----------------------------------------------------:|:-------------------------------------------------------:| |
| | |
Compositions
|
|
|
| |:---------------------------------------:|:----------------------------------:|:----------------------------------------:| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
| | |
UIs
|
|
|
| |:-----------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------:|:-------------------------------------------------------------------:| | | | |
Tutorials
- Counter (Beginner)
- Counter with ViewModel (Beginner)
AnimatedVisibility(Beginner)- Lottie (Beginner)
- Select image and crop for upload (Intermediate)
- Capture image and crop for upload (Intermediate)
- Permission (Beginner)
- Data Fetch and Paging (Advanced)
- Tic-Tac-Toe (Advanced)
- OneSignal and Broadcast (Intermediate)
- ExoPlayer (Advanced)
- CMS (Advanced)
- Deep Link (Intermediate)
- Navigation Data Pass (Intermediate)
- Reactive Model (Beginner)
- Baseline Profiles (Intermediate)
- Barcode Scanner (Google code scanner and ML Kit Barcode) (Intermediate)
|
|
|
|:-----------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------:|
|
|
|
|
|
| | |
TODO
- [ ] Add accompanist WebView
- [ ] x, y, z translation simulation
- [ ] Shadow manipulation with device gyroscope
- [ ] Composition: Bottom Sheet
- [ ] Fix custom
LazyGridScope.items - [ ] List with
LazyGrid - [ ] Paging with
LazyGrid - [ ] Update to new storage permission
- [ ] Create color ready for dark and light mode
- [ ] AlarmManager example
- [ ] Update
CheckBoxcode (see example from AOSP) - [ ] Month-Picker component
- [ ] Upgrade OneSignal lib
- [ ] New: File browser using MediaStore
- [ ] Get sidebar from Emudi app (https://www.youtube.com/watch?v=HNSKJIQtb4c)
- [ ] Migrate ExoPlayer: https://developer.android.com/media/media3/exoplayer/migration-guide
- [ ] Update all
LaunchedEffectwith lambda issue usingrememberUpdatedState: https://developer.android.com/develop/ui/compose/side-effects#rememberupdatedstate - [ ] Add example for AppColorLocal from Jaber vai
Note
- For dependency version check I am currently using refreshVersions.
./gradlew refreshVersions
- The project using spotless
./gradlew --init-script gradle/init.gradle.kts spotlessApply
Setup
Map API Key
Open the local.properties in your project level directory, and then add the following code. Replace YOURAPIKEY with your API key.
MAPSAPIKEY=YOURAPIKEY
Go REST API Key
Open the local.properties in your project level directory, and then add the following code. Replace YOURAPIKEY with your Go REST API key.
CMSAPIKEY=YOURAPIKEY
Other Interesting Repos
- Compose Material Catalog
- Official Compose Samples
- Now in Android App
- ChrisBanes/Tivi
- Gurupreet/ComposeCookBook
- spencergriffin/exoplayer-compose
- godaddy/compose-color-picker
- Jetpack Compose Awesome
Credits
Licence
- Emudi is a trademark of Softzino Technologies.
Copyright 2021 Md. Mahmudul Hasan Shohag
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.