Android Adaptive Icons Deep Dive
Master Android's adaptive icon system introduced in Android 8.0 (API level 26). Learn how to create flexible, dynamic icons that adapt to different device themes and shapes.
What You'll Learn
- ā
Understand adaptive icon architecture
- ā
Create foreground and background layers
- ā
Design for different mask shapes
- ā
Implement dynamic theming
- ā
Ensure backward compatibility
- ā
Test across different devices
Chapter 1: Introduction to Adaptive Icons
What Are Adaptive Icons?
Adaptive icons allow Android to apply various visual effects and shapes to app icons, creating a more unified and dynamic user experience. They consist of two layers:
1. Foreground Layer: Your main icon design
2. Background Layer: A solid color or simple pattern
Benefits of Adaptive Icons
Visual Consistency
- Uniform appearance across different launchers
- Consistent sizing and spacing
- Cohesive visual language
Dynamic Effects
- Parallax effects during animations
- Zoom and rotation effects
- Launcher-specific customizations
Theming Support
- Automatic adaptation to system themes
- Dark mode compatibility
- Material You color theming
System Requirements
Adaptive icons are supported on:
- Android 8.0 (API 26)+: Full adaptive icon support
- Android 7.1 and below: Falls back to legacy icons
- All launchers: System handles compatibility
Chapter 2: Anatomy of Adaptive Icons
Layer Structure
Foreground Layer
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
- ā Understand adaptive icon architecture
- ā Create foreground and background layers
- ā Design for different mask shapes
- ā Implement dynamic theming
- ā Ensure backward compatibility
- ā Test across different devices
Chapter 1: Introduction to Adaptive Icons
What Are Adaptive Icons?
Adaptive icons allow Android to apply various visual effects and shapes to app icons, creating a more unified and dynamic user experience. They consist of two layers:
1. Foreground Layer: Your main icon design
2. Background Layer: A solid color or simple pattern
Benefits of Adaptive Icons
Visual Consistency
- Uniform appearance across different launchers
- Consistent sizing and spacing
- Cohesive visual language
Dynamic Effects
- Parallax effects during animations
- Zoom and rotation effects
- Launcher-specific customizations
Theming Support
- Automatic adaptation to system themes
- Dark mode compatibility
- Material You color theming
System Requirements
Adaptive icons are supported on:
- Android 8.0 (API 26)+: Full adaptive icon support
- Android 7.1 and below: Falls back to legacy icons
- All launchers: System handles compatibility
Chapter 2: Anatomy of Adaptive Icons
Layer Structure
Foreground Layer
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
Adaptive icons allow Android to apply various visual effects and shapes to app icons, creating a more unified and dynamic user experience. They consist of two layers:
1. Foreground Layer: Your main icon design
2. Background Layer: A solid color or simple pattern
Benefits of Adaptive Icons
Visual Consistency
- Uniform appearance across different launchers
- Consistent sizing and spacing
- Cohesive visual language
Dynamic Effects
- Parallax effects during animations
- Zoom and rotation effects
- Launcher-specific customizations
Theming Support
- Automatic adaptation to system themes
- Dark mode compatibility
- Material You color theming
System Requirements
Adaptive icons are supported on:
- Android 8.0 (API 26)+: Full adaptive icon support
- Android 7.1 and below: Falls back to legacy icons
- All launchers: System handles compatibility
Chapter 2: Anatomy of Adaptive Icons
Layer Structure
Foreground Layer
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
- Uniform appearance across different launchers
- Consistent sizing and spacing
- Cohesive visual language
Dynamic Effects
- Parallax effects during animations
- Zoom and rotation effects
- Launcher-specific customizations
Theming Support
- Automatic adaptation to system themes
- Dark mode compatibility
- Material You color theming
System Requirements
Adaptive icons are supported on:
- Android 8.0 (API 26)+: Full adaptive icon support
- Android 7.1 and below: Falls back to legacy icons
- All launchers: System handles compatibility
Chapter 2: Anatomy of Adaptive Icons
Layer Structure
Foreground Layer
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
- Automatic adaptation to system themes
- Dark mode compatibility
- Material You color theming
System Requirements
Adaptive icons are supported on:
- Android 8.0 (API 26)+: Full adaptive icon support
- Android 7.1 and below: Falls back to legacy icons
- All launchers: System handles compatibility
Chapter 2: Anatomy of Adaptive Icons
Layer Structure
Foreground Layer
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
Layer Structure
Foreground Layer
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
The foreground contains your main icon design:
- Size: 108Ć108dp canvas
- Safe Zone: 66Ć66dp center area
- Format: Vector drawable (preferred) or PNG
Background Layer
The background provides context and depth:
- Size: 108Ć108dp canvas
- Content: Solid color or simple pattern
- Format: Vector drawable, color resource, or PNG
Safe Zone Guidelines
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
Critical Design Area
The safe zone (66Ć66dp) ensures your icon remains visible regardless of the mask shape applied:
``
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
`
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
`
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
`
Adaptive Icon XML
`xml
`
Designing the Foreground Layer
Vector Drawable Example
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#FF6B35"
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
`
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:fillColor="#2196F3"
android:pathData="M0,0h108v108h-108z"/>
`
Gradient Background
`xml
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:startColor="#FF6B35"
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
`
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
`bash
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
`
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
`xml
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
`
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
`xml
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
`
Round Icon Support
For Android 7.1 (API 25) round icon support:
`xml
`
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
`xml
`
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
`xml
android:name="icon"
android:animation="@animator/icon_animation"/>
``
Best Practices Summary
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions
Conclusion
Adaptive icons provide a powerful way to create flexible, dynamic app icons that integrate seamlessly with the Android ecosystem. By understanding the layer system, safe zones, and testing requirements, you can create icons that look great across all devices and Android versions.
Ready to create your adaptive icons? Use our [Icon Generator](/) to automatically generate all required formats!
Total Canvas: 108Ć108dp
Safe Zone: 66Ć66dp (center)
Bleed Area: 21dp on each side
Design Considerations
- Keep important elements within the safe zone
- Use bleed area for background elements
- Avoid placing text near edges
- Test with different mask shapes
Mask Shapes
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
Android applies various masks to adaptive icons:
Common Shapes
- Circle: Most common shape
- Rounded Square: iOS-like appearance
- Squircle: Smooth rounded corners
- Square: Sharp corners (rare)
Device Variations
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
Different manufacturers may use different default shapes:
- Google Pixel: Circle
- Samsung: Rounded square
- OnePlus: Circle
- Xiaomi: Rounded square
Chapter 3: Creating Adaptive Icons
Setting Up Adaptive Icons
File Structure
File Structure
res/
āāā mipmap-anydpi-v26/
ā āāā ic_launcher.xml
āāā mipmap-hdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-mdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxhdpi/
ā āāā ic_launcher.png (legacy)
āāā mipmap-xxxhdpi/
ā āāā ic_launcher.png (legacy)
āāā drawable/
āāā ic_launcher_foreground.xml
āāā ic_launcher_background.xml
Adaptive Icon XML
Designing the Foreground Layer
Vector Drawable Example
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:pathData="M54,32c-12.15,0 -22,9.85 -22,22s9.85,22 22,22s22,-9.85 22,-22S66.15,32 54,32z"/>
Design Best Practices
- Center your design: Keep main elements in the safe zone
- Use vector graphics: Scalable and crisp at all sizes
- Maintain simplicity: Avoid overly complex designs
- Consider contrast: Ensure visibility on various backgrounds
Designing the Background Layer
Solid Color Background
Solid Color Background
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:pathData="M0,0h108v108h-108z"/>
Gradient Background
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
android:endColor="#F7931E"
android:type="linear"
android:angle="45"/>
Using Android Studio's Image Asset Studio
Step-by-Step Process
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
1. Right-click on app module
2. Select New ā Image Asset
3. Choose Launcher Icons (Adaptive and Legacy)
4. Configure foreground and background
5. Preview different shapes
6. Generate all required assets
Configuration Options
- Foreground Layer: Upload image or choose clipart
- Background Layer: Color, image, or clipart
- Legacy Icon: Automatically generated
- Preview: See all mask shapes
Chapter 4: Testing and Optimization
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
Testing Adaptive Icons
Device Testing
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
Test your adaptive icons on various devices:
- Different Android versions
- Various launcher apps
- Different screen densities
- Light and dark themes
Emulator Testing
Use Android Studio emulators to test:
Create AVDs with different API levels
API 26+ : Test adaptive icons
API 25 and below : Test legacy fallback
Shape Testing
Test with different mask shapes:
- Circle mask
- Rounded rectangle
- Square mask
- Custom shapes (if supported)
Optimization Techniques
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
Performance Optimization
- Use vector drawables: Better performance and smaller size
- Minimize complexity: Reduce path complexity
- Optimize colors: Use theme colors when possible
Visual Optimization
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
- Test contrast: Ensure visibility in all themes
- Check alignment: Verify centering in safe zone
- Validate scaling: Test at different sizes
Common Issues and Solutions
Foreground Too Large
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
Problem: Important elements get clipped
Solution: Scale down design to fit safe zone
Poor Contrast
Problem: Foreground not visible on background
Solution: Adjust colors or add stroke/shadow
Legacy Icon Mismatch
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
Problem: Legacy icon looks different from adaptive
Solution: Generate legacy from adaptive preview
Chapter 5: Backward Compatibility
Legacy Icon Support
Providing Fallbacks
For devices running Android 7.1 and below:
Providing Fallbacks
For devices running Android 7.1 and below:
res/mipmap-hdpi/ic_launcher.png (72Ć72px)
res/mipmap-mdpi/ic_launcher.png (48Ć48px)
res/mipmap-xhdpi/ic_launcher.png (96Ć96px)
res/mipmap-xxhdpi/ic_launcher.png (144Ć144px)
res/mipmap-xxxhdpi/ic_launcher.png (192Ć192px)
Generating Legacy Icons
Create legacy icons that represent your adaptive icon:
- Combine foreground and background layers
- Apply appropriate mask shape
- Ensure consistency with adaptive version
Manifest Configuration
Application Manifest
Application Manifest
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
Round Icon Support
For Android 7.1 (API 25) round icon support:
Best Practices for Compatibility
Design Considerations
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
- Design for circle: Assume circular mask as default
- Test legacy versions: Ensure fallbacks look good
- Maintain brand consistency: Keep visual identity across versions
Technical Implementation
- Use resource qualifiers: Proper folder structure
- Optimize file sizes: Compress PNG assets
- Test thoroughly: Verify on older devices
Advanced Topics
Dynamic Theming (Android 12+)
Material You Integration
Dynamic Theming (Android 12+)
Material You Integration
Monochrome Icons
For themed icons in Android 12+:
- Single color design
- High contrast
- Simple shapes
- Automatic color adaptation
Animation Support
Animated Adaptive Icons
Animated Adaptive Icons
android:animation="@animator/icon_animation"/>
1. Design for the safe zone: Keep important elements within 66Ć66dp
2. Test multiple shapes: Verify appearance with different masks
3. Provide legacy fallbacks: Support older Android versions
4. Use vector graphics: Better scalability and performance
5. Maintain consistency: Ensure brand recognition across versions