A Jetpack Compose implementation of Owl, a Material Design study

Overview

Owl sample

This sample is a Jetpack Compose implementation of Owl, a Material Design study.

To try out this sample app, you need to use Android Studio Arctic Fox. You can clone this repository or import the project from Android Studio following the steps here.

This sample showcases:

Screenshots

Features

Onboarding Screen

The onboarding screen allows users to customize their experience by selecting topics. Notable features:

Courses Screen

The courses screen displays featured and saved course and a search screen. Notable fetures:

Course Details Screen

Displays details of a selected course, featuring:

Theming

Owl follows Material Design, customizing colors, typography and shapes. These come together in Owl's multiple themes, one for each color scheme. Additionaly, Owl supports image and elevation theming, providing alternate images/elevations in light/dark themes.

Common UI

Compose makes it simple to create a library of components and use them throughout the app. See:

Utilities

Owl implements some utility functions of interest:

  • Window insets will likely be provided by the Compose library at some point. Until then this demonstrates how it can be implemented.
  • NavGraph models navigation within the app using Jetpack Navigation.

Data

Domain types are modelled in the model package, each containing static sample data exposed using fake Repos objects.

Imagery is sourced from Unsplash and Pravatar and loaded using coil-accompanist.

License

Copyright 2020 The Android Open Source Project

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...
New style for app design E-commerce Shop App UI made in Jetpack Compose.πŸ˜‰πŸ˜Ž
New style for app design E-commerce Shop App UI made in Jetpack Compose.πŸ˜‰πŸ˜Ž

E-commerceShopAppUI-Android New style for app design E-commerce Shop App UI made in Jetpack Compose. πŸ˜‰ 😎 (Navigation Components, Dagger-Hilt, Materi

Recipes Mobile App UI Design in Jetpack Compose
Recipes Mobile App UI Design in Jetpack Compose

Recipes Mobile App UI Design in Jetpack Compose Watch it on YouTube Beautiful android mobile Recipes App designed using Jetpack Compose. Single screen

New style for app design and Movies App with Movies API JetMaxMovies made in Jetpack Compose.πŸ˜‰πŸ˜Ž
New style for app design and Movies App with Movies API JetMaxMovies made in Jetpack Compose.πŸ˜‰πŸ˜Ž

JetMaxMovie New style for app design and Movies App with Movies API JetMaxMovies made in Jetpack Compose. πŸ˜‰ 😎 (Navigation Compose,Dagger-Hilt, Mater

A sample of how to implement a design system in Jetpack Compose

[WIP] Sample Design System This project aims to hold an example of how to implement a design system with Jetpack Compose. At this moment it only has t

FullMangement - an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries, and MVVM design pattern.
FullMangement - an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries, and MVVM design pattern.

Full Management is an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries and MVVM design pattern.

Fake Toss Design System with Jetpack Compose
Fake Toss Design System with Jetpack Compose

FTDS Fake Toss Design System Let's clone TDS with Jetpack Compose! TDS의 λͺ¨λ“  면을 따라

ComposeLoginScreen - A sleek design of a simple login screen using Jetpack Compose
ComposeLoginScreen - A sleek design of a simple login screen using Jetpack Compose

ComposeLoginScreen A sleek design of a simple login screen using Jetpack Compose

Andromeda is a open-source design language system implemented in Jetpack Compose.
Andromeda is a open-source design language system implemented in Jetpack Compose.

Andromeda Andromeda is a open-source design language system implemented in Jetpack Compose. Catalog app Table of Contents About the Project Getting St

A simple 'Slide to Unlock' Material widget for Android, written in Jetpack Compose
A simple 'Slide to Unlock' Material widget for Android, written in Jetpack Compose

SlideTodo A simple 'Slide to Unlock' Material widget for Android, written in Jetpack Compose you can find source code here Getting Started allprojects

Comments
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Pin dependency versions for devDependencies and retain SemVer ranges for others.
    • Remove hourly and concurrent rate limits.

    πŸ”‘ Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    It looks like your repository dependencies are already up-to-date and no Pull Requests will be necessary right away.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 2
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced πŸŽ‰

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | 19.41kb | 11.80kb | 39.19% | | /app/src/main/res/mipmap-xxhdpi/ic_launcher.png | 12.76kb | 8.43kb | 33.96% | | /app/src/main/res/mipmap-xhdpi/ic_launcher.png | 7.11kb | 4.93kb | 30.73% | | /app/src/main/res/mipmap-hdpi/ic_launcher.png | 4.82kb | 3.58kb | 25.63% | | /app/src/main/res/mipmap-mdpi/ic_launcher.png | 2.71kb | 2.29kb | 15.68% | | /screenshots/onboarding.gif | 833.39kb | 832.41kb | 0.12% | | | | | | | Total : | 880.21kb | 863.44kb | 1.91% |


    πŸ“ docs | :octocat: repo | πŸ™‹πŸΎ issues | πŸͺ marketplace

    ~Imgbot - Part of Optimole family

    opened by imgbot[bot] 2
  • Configure WhiteSource Bolt for GitHub

    Configure WhiteSource Bolt for GitHub

    Welcome to WhiteSource Bolt for GitHub! This is an onboarding PR to help you understand and configure settings before WhiteSource starts scanning your repository for security vulnerabilities.

    :vertical_traffic_light: WhiteSource Bolt for GitHub will start scanning your repository only once you merge this Pull Request. To disable WhiteSource Bolt for GitHub, simply close this Pull Request.


    What to Expect

    This PR contains a '.whitesource' configuration file which can be customized to your needs. If no changes were applied to this file, WhiteSource Bolt for GitHub will use the default configuration.

    Before merging this PR, Make sure the Issues tab is enabled. Once you merge this PR, WhiteSource Bolt for GitHub will scan your repository and create a GitHub Issue for every vulnerability detected in your repository.

    If you do not want a GitHub Issue to be created for each detected vulnerability, you can edit the '.whitesource' file and set the 'minSeverityLevel' parameter to 'NONE'.


    :question: Got questions? Check out WhiteSource Bolt for GitHub docs. If you need any further assistance then you can also request help here.

    opened by mend-bolt-for-github[bot] 2
Owner
Alexander
Active Researcher
Alexander
Luis David Orellana 3 Jun 20, 2022
Compose-Ratingbar-library - A simple implementation for rating bar in Jetpack Compose

Compose-Ratingbar-library - A simple implementation for rating bar in Jetpack Compose

Mahmoud Hussein 14 Dec 21, 2022
A simple implementation of collapsing toolbar for Jetpack Compose

compose-collapsing-toolbar A simple implementation of CollapsingToolbarLayout for Jetpack Compose Installation You should add mavenCentral() repositor

onebone 321 Dec 31, 2022
An implementation of the Bloc pattern for Kotlin and Jetpack Compose

Kotlin Bloc An implementation of the Bloc pattern for Kotlin and Jetpack Compose. Documentation Documentation is available here: https://ptrbrynt.gith

Peter Bryant 21 Dec 7, 2022
Jetpack Compose implementation of Discord's Overlapping Panels

OverlappingPanelsCompose Jetpack Compose implementation of Discord's Overlapping Panels Installation Groovy Add JitPack repository to root build.gradl

Xinto 9 Jul 11, 2022
A jetpack compose form builder implementation.

Jetpack Compose FormBuilder A highly android library used to provide an abstraction layer over form elements as well as provide a DRY code implementat

DSC-JKUAT 116 Dec 22, 2022
ComposeImageBlurhash is a Jetpack Compose component with the necessary implementation to display a blurred image while the real image is loaded from the internet. Use blurhash and coil to ensure good performance.

compose-image-blurhash ComposeImageBlurhash is a Jetpack Compose component with the necessary implementation to display a blurred image while the real

Orlando Novas Rodriguez 24 Nov 18, 2022
Luis David Orellana 11 Jan 1, 2023
Android Jetpack Compose implementation of SpinKit with additionals

ComposeLoading Android Jetpack Compose implementation of SpinKit with additionals. How it looks Preview Setup Open the file settings.gradle (it looks

Emir Demirli 8 Dec 18, 2022
New style for app design Online Flora Go Go App UI made in Jetpack Compose. πŸ˜‰ 😎

JetComposeLoginUI New style for app design Online Flora Go Go App UI made in Jetpack Compose. ?? ?? (Navigation Components, Dagger-Hilt, Material Comp

Arvind Meshram 95 Dec 22, 2022