|
1 |
| -# Compose Samples Repository |
| 1 | +# Jetpack Compose Samples |
| 2 | +<img src="readme/samples_montage.gif" alt="Jetpack Compose Samples" width="1024" /> |
2 | 3 |
|
3 | 4 | This repository contains a set of individual Android Studio projects to help you learn about
|
4 |
| - [Jetpack Compose](https://developer.android.com/jetpack/compose), Android's new modern UI toolkit. |
5 |
| - |
6 |
| -<img src="screenshots/samples_montage.gif"> |
7 |
| - |
8 |
| -## Samples |
9 |
| - |
10 |
| -### [Jetnews](Jetnews/) |
11 |
| -A sample blog post viewer that demonstrates a variety of UI components, light/dark themes and a basic architecture. |
12 |
| - |
13 |
| -### [Jetchat](Jetchat/) |
14 |
| - |
15 |
| -Todo(jalc) |
16 |
| - |
17 |
| -### [Jetsurvey](JetSurvey/) |
18 |
| - |
19 |
| -A sample survey app showcasing text input, validation and state handling. |
20 |
| - |
21 |
| -### [Jetsnack](Jetsnack/) |
22 |
| - |
23 |
| -A sample snack-ordering app showcasing how to implement a custom design system. |
24 |
| - |
25 |
| -### [Jetcaster](Jetcaster/) |
26 |
| - |
27 |
| -A sample podcast app showcasing dynamic theming and a full featured architecture. |
28 |
| - |
29 |
| -### [Owl](owl/) |
30 |
| - |
31 |
| -A sample education app showcasing theming with Material Design. |
32 |
| - |
33 |
| -### [Crane](Crane/) |
34 |
| - |
35 |
| -A sample travel app showcasing Material components, draggable UI elements, interop with Android Views |
36 |
| -inside Compose and UI state handling. |
37 |
| - |
38 |
| -### [Rally](Rally/) |
39 |
| - |
40 |
| -Todo(jalc) |
41 |
| - |
42 |
| -## Requirements |
43 |
| - |
44 |
| -[Android Studio 4.2](https://developer.android.com/studio/preview/index.html) or newer. |
| 5 | +Compose in Android. Each sample demonstrates different use cases, complexity levels and APIs. |
| 6 | + |
| 7 | +For more information, please [read the documentation](https://developer.android.com/jetpack/compose) |
| 8 | + |
| 9 | +💻 Requirements |
| 10 | +------------ |
| 11 | +[Android Studio 4.2 Canary](https://developer.android.com/studio/preview/index.html) or newer. |
| 12 | + |
| 13 | +🧬 Samples |
| 14 | +------------ |
| 15 | + |
| 16 | + |
| 17 | +| Project | | |
| 18 | +|:-----|---------| |
| 19 | +| <br><img src="readme/jetnews.png" alt="JetNews" width="240"></img> <br><br> A sample blog post viewer that demonstrates the use of Compose with a typical Material app and real-world architecture. <br><br> • Medium complexity<br>• Varied UI<br>• Light & dark themes<br>• Resource loading<br>• UI Testing <br><br> **[> Browse](JetNews/)**<br><br> | <img src="readme/screenshots/JetNews.png" width="320" alt="Jetnews sample demo"> | |
| 20 | +| | | |
| 21 | +| <br><img src="readme/jetchat.png" alt="Jetchat" width="240"></img> <br><br>A sample chat app that focuses on UI state patterns and text input.<br><br>• Low complexity<br>• Simple Material Design theme (Light & dark)<br>• Resource loading<br>• Back button handling<br>• Integration with Architecture Components: Navigation, Fragments, LiveData, ViewModel<br>• Animation<br>• UI Testing<br><br>**[> Browse](Jetchat/)** <br><br> | <img src="readme/screenshots/Jetchat.png" width="320" alt="Jetchat sample demo">| |
| 22 | +| | | |
| 23 | +| <br><img src="readme/jetsurvey.png" alt="Jetsurvey" width="240"></img> <br><br>A sample survey app that showcases text input, validation and UI state management in Compose.<br><br>• Low complexity<br>• `TextField` and form validation<br>• Snackbar implementation<br>• Element reusability and styling<br>• Various form elements<br><br><br>**[> Browse](Jetsurvey/)** <br><br> | <img src="readme/screenshots/Jetsurvey.png" width="320" alt="Jetsurvey sample demo"> | |
| 24 | +| | | |
| 25 | +| <br><img src="readme/jetsnack.png" alt="Jetsnack" width="240"></img> <br><br>Jetsnack is a sample snack ordering app built with Compose.<br><br>• Medium complexity<br>• Custom design system<br>• Custom layouts<br>• Animation<br><br>**[> Browse](Jetsnack/)** <br><br> | <img src="readme/screenshots/Jetsnack.png" width="320" alt="Jetsnack sample demo">| |
| 26 | +| | | |
| 27 | +| <br><img src="readme/jetcaster.png" alt="Jetcaster" width="240"></img> <br><br>A sample podcast app that features a full-featured, Redux-style architecture and showcases dynamic themes.<br><br>• Advanced sample<br>• Dynamic theming using podcast artwork<br>• Image fetching<br>• [`WindowInsets`](https://developer.android.com/reference/kotlin/android/view/WindowInsets) support<br>• Coroutines<br>• Local storage with Room<br><br>**[> Browse](Jetcaster/)** <br><br> | <img src="readme/screenshots/Jetcaster.png" width="320" alt="Jetcaster sample demo">| |
| 28 | +| | | |
| 29 | +| <br><img src="readme/rally.png" alt="Rally" width="240"></img> <br><br>A Compose implementation of the Rally Material study, a financial app that focuses on data, charts, reusability and animations.<br><br>• Low complexity<br>• Material theming with a dark-only theme<br>• Custom layouts and reusable elementss<br>• Charts and tables<br>• Animations<br>• Screenshot tests<br><br>**[> Browse](Rally/)** <br><br> | <img src="readme/screenshots/Rally.png" width="320" alt="Rally sample demo">| |
| 30 | +| | | |
| 31 | +| <br><img src="readme/crane.png" alt="Crane" width="240"></img> <br><br>A Compose implementation of the Crane Material study, a travel app that uses Material Design components and Material Theming to create a personalized, on-brand experience.<br><br>• Medium complexity<br>• Draggable UI elements<br>• Android Views inside Compose<br>• UI state handling<br>• UI Tests<br><br>**[> Browse](Crane/)** <br><br> | <img src="readme/screenshots/Crane.png" width="320" alt="Crane sample demo">| |
| 32 | +| | | |
| 33 | +| <br><img src="readme/owl.png" alt="Owl" width="240"></img> <br><br>A Compose implementation of the Owl Material study. The Owl brand uses bold color, shape, and typography to express its brand attributes: energy, daring, and fun.<br><br>• Medium complexity<br>• Material theming & light/dark themes<br>• Custom layout<br>• Animation<br><br>**[> Browse](Owl/)** <br><br> | <img src="readme/screenshots/Owl.png" width="320" alt="Owl sample demo">| |
| 34 | + |
| 35 | + |
| 36 | +## License |
| 37 | +``` |
| 38 | +Copyright 2020 The Android Open Source Project |
| 39 | +
|
| 40 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 41 | +you may not use this file except in compliance with the License. |
| 42 | +You may obtain a copy of the License at |
| 43 | +
|
| 44 | + https://www.apache.org/licenses/LICENSE-2.0 |
| 45 | +
|
| 46 | +Unless required by applicable law or agreed to in writing, software |
| 47 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 48 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 49 | +See the License for the specific language governing permissions and |
| 50 | +limitations under the License. |
| 51 | +``` |
0 commit comments