{"id":20881434,"url":"https://github.com/js-bhavyansh/splashscreen","last_synced_at":"2026-04-14T12:33:11.622Z","repository":{"id":258948597,"uuid":"819466101","full_name":"js-bhavyansh/SplashScreen","owner":"js-bhavyansh","description":"A Jetpack Compose Android app demonstrating an animated splash screen using the Splash Screen API and Animated Vector Drawables created with ShapeShifter.io.","archived":false,"fork":false,"pushed_at":"2024-06-24T16:03:58.000Z","size":118,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-19T10:07:54.662Z","etag":null,"topics":["android-application","jetpack-compose","kotlin","splashscreenapi"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/js-bhavyansh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-06-24T15:00:09.000Z","updated_at":"2024-10-19T12:02:13.000Z","dependencies_parsed_at":"2024-10-22T08:56:44.226Z","dependency_job_id":null,"html_url":"https://github.com/js-bhavyansh/SplashScreen","commit_stats":null,"previous_names":["js-bhavyansh/splashscreen"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-bhavyansh%2FSplashScreen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-bhavyansh%2FSplashScreen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-bhavyansh%2FSplashScreen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-bhavyansh%2FSplashScreen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/js-bhavyansh","download_url":"https://codeload.github.com/js-bhavyansh/SplashScreen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243258498,"owners_count":20262300,"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-application","jetpack-compose","kotlin","splashscreenapi"],"created_at":"2024-11-18T07:24:52.821Z","updated_at":"2025-12-25T12:26:01.351Z","avatar_url":"https://github.com/js-bhavyansh.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Animated Splash Screen in Jetpack Compose\n\nWelcome to the repository for the Animated Splash Screen in Jetpack Compose project. This project demonstrates how to create an animated splash screen in a Jetpack Compose application using Kotlin in Android Studio. The splash screen is created using the new Splash Screen API and an animated vector drawable exported from ShapeShifter.io.\n\n## Features\n\n- Jetpack Compose for modern Android UI development.\n- Splash Screen API for seamless splash screen integration.\n- Animated Vector Drawable (AVD) for smooth and eye-catching animations.\n\n## Getting Started\n\n### Steps to Create the Project\n\n1. **Create a New Project in Android Studio**\n   - Open Android Studio and create a new project.\n   - Choose an empty activity template and name your project.\n\n2. **Add Splash Screen API Dependency**\n   - Open `build.gradle` (app-level) and add the Splash Screen API dependency:\n     ```gradle\n     dependencies {\n         implementation 'androidx.core:core-splashscreen:1.0.0'\n     }\n     ```\n   - Sync the project.\n\n3. **Create a 192x192 Icon in Figma**\n   - Design your splash screen icon in Figma which should be under dimensions 192x192.\n   - Export the icon as an SVG file.\n\n4. **Animate the Icon Using ShapeShifter.io**\n   - Open [ShapeShifter.io](https://shapeshifter.design/).\n   - Import the SVG file and create the desired animation.\n   - Export the animation as an Animated Vector Drawable (AVD).\n\n5. **Add the AVD to Android Studio**\n   - Place the exported AVD file in the `res/drawable` directory of your project.\n\n6. **Create Day and Night Themes**\n   - In the `res/values` directory, create two XML files, for example, `splash_theme.xml` and `splash_theme_night.xml`.\n   - Define a new theme in each file:\n     ```xml\n     \u003c!-- splash_theme.xml --\u003e\n     \u003cresources\u003e\n          \u003cstyle name=\"Theme.Splash.AnimatedSplash\" parent=\"Theme.SplashScreen\"\u003e\n              \u003citem name=\"windowSplashScreenBackground\"\u003e@color/white\u003c/item\u003e\n              \u003citem name=\"windowSplashScreenAnimatedIcon\"\u003e@drawable/avd_splashscreen\u003c/item\u003e\n              \u003citem name=\"windowSplashScreenAnimationDuration\"\u003e1000\u003c/item\u003e\n              \u003citem name=\"postSplashScreenTheme\"\u003e@style/Theme.Splash\u003c/item\u003e\n          \u003c/style\u003e\n      \u003c/resources\u003e\n\n     \u003c!-- splash_theme_night.xml --\u003e\n     \u003cresources\u003e\n          \u003cstyle name=\"Theme.Splash.AnimatedSplash\" parent=\"Theme.SplashScreen\"\u003e\n              \u003citem name=\"windowSplashScreenBackground\"\u003e@color/white\u003c/item\u003e\n              \u003citem name=\"windowSplashScreenAnimatedIcon\"\u003e@drawable/avd_splashscreen\u003c/item\u003e\n              \u003citem name=\"windowSplashScreenAnimationDuration\"\u003e1000\u003c/item\u003e\n              \u003citem name=\"postSplashScreenTheme\"\u003e@style/Theme.Splash\u003c/item\u003e\n          \u003c/style\u003e\n      \u003c/resources\u003e\n     ```\n\n7. **Update AndroidManifest.xml**\n   - Set the new splash screen theme as the theme for your main activity:\n     ```xml\n     \u003capplication\n        android:allowBackup=\"true\"\n        android:dataExtractionRules=\"@xml/data_extraction_rules\"\n        android:fullBackupContent=\"@xml/backup_rules\"\n        android:icon=\"@mipmap/ic_launcher\"\n        android:label=\"@string/app_name\"\n        android:roundIcon=\"@mipmap/ic_launcher_round\"\n        android:supportsRtl=\"true\"\n        android:theme=\"@style/Theme.Splash\" // Here change the theme.\n        tools:targetApi=\"31\"\u003e\n        \u003cactivity\n            android:name=\".MainActivity\"\n            android:exported=\"true\"\n            android:theme=\"@style/Theme.Splash.AnimatedSplash\"\u003e  // Here change the theme.\n            \u003cintent-filter\u003e\n                \u003caction android:name=\"android.intent.action.MAIN\" /\u003e\n\n                \u003ccategory android:name=\"android.intent.category.LAUNCHER\" /\u003e\n            \u003c/intent-filter\u003e\n        \u003c/activity\u003e\n      \u003c/application\u003e\n     ```\n\n8. **Initialize Splash Screen in MainActivity**\n   - In `MainActivity.kt`, call `installSplashScreen()`:\n     ```kotlin\n     package com.example.splash\n\n      import android.os.Bundle\n      import androidx.activity.ComponentActivity\n      import androidx.activity.compose.setContent\n      import androidx.activity.enableEdgeToEdge\n      import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen\n      import com.example.splash.ui.theme.SplashTheme\n      \n      class MainActivity : ComponentActivity() {\n          override fun onCreate(savedInstanceState: Bundle?) {\n              super.onCreate(savedInstanceState)\n      \n              // Installing Splash Screen :-\u003e\n              installSplashScreen()\n      \n              enableEdgeToEdge()\n              setContent {\n                  SplashTheme {}\n              }\n          }\n      }\n     ```\n\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.\n\n1.\u003e Fork the Project.\\\n2.\u003e Create your Feature Branch `git checkout -b feature/AmazingFeature`.\\\n3.\u003e Commit your Changes `git commit -m 'Add some AmazingFeature'`.\\\n4.\u003e Push to the Branch `git push origin feature/AmazingFeature`.\\\n5.\u003e Open a Pull Request\n\n## Acknowledgements\n\n- Inspiration from various Android development tutorials and documentation.\n## Contact\n\nFor questions or feedback, please contact [@Bhavyansh03-tech](https://github.com/Bhavyansh03-tech).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs-bhavyansh%2Fsplashscreen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjs-bhavyansh%2Fsplashscreen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs-bhavyansh%2Fsplashscreen/lists"}