Best Practices for User Interface

These classes teach you how to build a user interface using Android layouts for all types of devices. Android provides a flexible framework for UI design that allows your app to display different layouts for different devices, create custom UI widgets, and even control aspects of the system UI outside your app's window.

  1. Designing for Multiple Screens

    How to build a user interface that's flexible enough to fit perfectly on any screen and how to create different interaction patterns that are optimized for different screen sizes.

    1. Supporting Different Screen Sizes
    2. Supporting Different Screen Densities
    3. Implementing Adaptive UI Flows
  2. Creating Custom Views

    How to build custom UI widgets that are interactive and smooth.

    1. Creating a Custom View Class
    2. Implementing Custom Drawing
    3. Making the View Interactive
    4. Optimizing the View
  3. Creating Backward-Compatible UIs

    How to use UI components and other APIs from the more recent versions of Android while remaining compatible with older versions of the platform.

    1. Abstracting the New APIs
    2. Proxying to the New APIs
    3. Creating an Implementation with Older APIs
    4. Using the Version-Aware Component
  4. Implementing Accessibility

    How to make your app accessible to users with vision impairment or other physical disabilities.

    1. Developing Accessible Applications
    2. Developing Accessibility Services
  5. Managing the System UI

    How to hide and show status and navigation bars across different versions of Android, while managing the display of other screen components.

    1. Dimming the System Bars
    2. Hiding the Status Bar
    3. Hiding the Navigation Bar
    4. Using Immersive Full-Screen Mode
    5. Responding to UI Visibility Changes
  6. Creating Apps with Material Design

    How to implement material design on Android.

    1. Getting Started
    2. Using the Material Theme
    3. Creating Lists and Cards
    4. Defining Shadows and Clipping Views
    5. Working with Drawables
    6. Defining Custom Animations
    7. Maintaining Compatibility