A custom Android launcher that provides a clean, minimalist home screen experience with essential functionality.
- Clean, transparent interface that shows your wallpaper
- App grid with customizable columns (3-6 columns)
- Quick access to settings and wallpaper picker
- Time display in the top-left corner
- Full-screen app drawer accessible via the center button
- Search functionality to quickly find apps
- Alphabetically sorted app list
- Grid layout for easy navigation
- Grid layout customization
- Dark/light theme toggle
- Wallpaper opacity adjustment
- Gesture customization (swipe up actions)
- User preferences storage
- Choose from gallery
- Camera capture (requires additional setup)
- Built-in wallpaper options
- Solid color wallpapers
SimpleLauncher/
├── app/
│ ├── src/main/
│ │ ├── java/com/example/simplelauncher/
│ │ │ ├── MainActivity.kt # Home screen
│ │ │ ├── AppDrawerActivity.kt # App drawer
│ │ │ ├── SettingsActivity.kt # Settings
│ │ │ ├── WallpaperPickerActivity.kt # Wallpaper picker
│ │ │ ├── adapters/
│ │ │ │ └── AppGridAdapter.kt # App grid adapter
│ │ │ └── models/
│ │ │ └── AppInfo.kt # App data model
│ │ ├── res/
│ │ │ ├── layout/ # UI layouts
│ │ │ ├── drawable/ # Icons and graphics
│ │ │ ├── values/ # Colors, themes, strings
│ │ │ ├── xml/ # Preferences
│ │ │ └── menu/ # Menu resources
│ │ └── AndroidManifest.xml # App manifest
│ └── build.gradle # App module build config
├── build.gradle # Project build config
├── settings.gradle # Project settings
├── gradle.properties # Gradle properties
└── README.md # This file
The main launcher activity that serves as the home screen. It displays:
- App grid with installed applications
- Quick action buttons (settings, wallpaper)
- App drawer access button
- Transparent background to show wallpaper
Full-screen app drawer that shows all installed apps with:
- Search functionality
- Grid layout
- App icons and names
- Quick app launching
Preference-based settings screen with:
- Grid customization
- Theme selection
- Wallpaper settings
- Gesture configuration
RecyclerView adapter for displaying apps in a grid format with:
- Efficient view recycling
- Click and long-press handling
- DiffUtil for smooth updates
- Android Studio Arctic Fox or later
- Android SDK 24+ (Android 7.0+)
- Kotlin support enabled
- Clone or download the project
- Open in Android Studio
- Sync Gradle files
- Build the project (Build → Make Project)
- Enable "Developer Options" on your Android device
- Enable "USB Debugging"
- Connect device to computer
- Run the app from Android Studio
- Install the app
- Press the home button
- Select "Simple Launcher" from the launcher chooser
- Choose "Always" to set as default
- Modify
grid_columnspreference in settings - Adjust item spacing in
item_app_grid.xml - Change grid layout manager in activities
- Customize colors in
colors.xml - Modify themes in
themes.xml - Add new theme variants as needed
- Replace drawable resources in
drawable/folder - Use vector drawables for scalability
- Maintain consistent icon sizing
The launcher requires these permissions:
QUERY_ALL_PACKAGES: To discover installed appsSET_WALLPAPER: To change device wallpaperREAD_EXTERNAL_STORAGE: To access gallery imagesWRITE_EXTERNAL_STORAGE: To save wallpaper changesSYSTEM_ALERT_WINDOW: For overlay functionality
The project follows modern Android development practices:
- MVVM Architecture: Using ViewModels and LiveData
- View Binding: Type-safe view access
- Kotlin: Modern language features and null safety
- Material Design: Following Material Design guidelines
- RecyclerView: Efficient list/grid display
- Preferences: Settings management with PreferenceFragmentCompat
- AndroidX Core: Core Android functionality
- Material Components: Material Design components
- RecyclerView: Efficient list/grid display
- Lifecycle: ViewModels and LiveData
- Preferences: Settings management
- Room: Local database (for future features)
- Widget support
- Folder organization
- Custom app icons
- Gesture navigation
- Backup/restore settings
- Multiple home screens
- App usage statistics
- Custom themes
- Animation effects
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
For issues and questions:
- Check existing issues in the repository
- Create a new issue with detailed information
- Include device information and Android version
Note: This is a custom launcher that replaces your device's default home screen. Make sure to test thoroughly before setting as default, and keep your default launcher accessible in case of issues.