This repository contains a starter Android project built using Kotlin and XML layouts for a UI-focused assignment.
The goal of this challenge is to test your understanding of Android UI fundamentals, layout structure, state handling, and theming, not to build a large or complex app.
You are given a pre-built Android screen in Light Mode.
Your task is to:
-
Convert the UI from Light Mode → Dark Mode
OR
-
Enhance the screen by adding additional UI elements or improvements while keeping the design clean and readable
You are free to be creative, but keep the scope reasonable.
You are expected to work with (or revise):
varvsval- Basic data types (
String,Int,Boolean) if / elsestatements- Functions
- Nullable types (
Int?,String?)
- XML layouts
LinearLayout(vertical and horizontal)TextView,EditText,ImageView,Button- Padding, margin, and background styling
- Handling button click events
- Manual UI updates from Kotlin
findViewById- Navigation using
Intent - Passing data between Activities
- Basic theming and color usage
You may:
- Modify colors, fonts, spacing, and layout
- Improve Light Mode → Dark Mode compatibility
- Add new UI components (toggles, helper text, status indicators, etc.)
- Improve visual hierarchy and readability
- Refactor hardcoded colors into resources
You do not need:
- External libraries
- Networking or backend logic
- Advanced architecture (MVVM, DI, etc.)
- Do not add heavy third-party dependencies
- Do not rewrite the entire app from scratch
Fork this repository to your own GitHub account.
git clone https://github.com/<your-username>/UIChallenge.git
cd Android
Open the project in Android Studio and run the app on:
- Emulator
- Physical Android device
(Both are acceptable)
Modify the existing XML layouts and Kotlin Activities to:
-
Implement Dark Mode properly
OR
-
Enhance the UI while maintaining usability and consistency
Focus on clarity and correctness, not over-engineering.
Submit your assignment using the following Google Form link:
Submission Folder here
- A text file containing the link to your forked GitHub repository
Make sure your name is clearly mentioned.
Submissions will be evaluated based on:
- Correct use of XML layouts
- Proper handling of UI state in Kotlin
- Dark Mode readability and contrast
- Clean and understandable code
- UI clarity and consistency
- Reasonable creativity (not unnecessary complexity)
- Proper use of color resources for theming
- Cleaner spacing and alignment
- Small UX improvements (helper text, feedback messages)
- Accessibility-friendly text sizes and contrast
This challenge is designed to test fundamentals, not perfection.
Focus on understanding how Android UI works, how state affects views, and how to structure clean layouts.
Breaking the UI is part of learning.
Good Luck!!!