Do you want to improve your Android app UX? Here are some tips for making it better.


  • Consider your target audience - what kind of interactions are they used to, what kind of terminology are they used to, etc.
  • Consider context of use - is the app used while walking, in bright sunlight, while sitting inside, etc. Usually it is a mix of all this.
  • We recommend to keep the file size under 512 MB. The risk of huge download sizes is that the phone runs out of free space for your app, or there might be a network timeout.

Figure 1. Mobile phones will be used at any time and at any place.

Layout - item

  • Touch items need to be large enough. The minimum size is 48 dp (density independent pixels) or 7mm x 7mm minimum.
  • Font sizes need to be scalable and large enough.
    • Use sp (scale independent pixels) for fonts.
    • Do not use dp instead - it won't do the trick.
    • 12 sp Micro
    • 14 sp Small
    • 16 sp Medium
    • 18 sp Large

    Figure 2. Use "sp" for fonts and "dp" for graphics for automated scaling.

  • Icons
    • Icon sizes need to be large enough so that you can see the icon.
    • Pay attention to the icon metaphor; people need to understand what it means.
    • Do not use the same icon for different actions.
  • Check contrast and readability.
  • All touchable items:
    • Must have a visual feedback on touch down event.
    • Must be indicated as touchable.

Figure 3. Indicate the touch area and indicate the touch down event. Trigger on touch release.

Do not overload UI components.
  • Max 3 tabs in fixed tabs.
  • Max 5 - 7 tabs in scrolling tabs.
  • Try to avoid scrolling from action overflow (see Figure 5), otherwise there are too many items. Use e.g. a new detail view instead.

Figure 4. Do not use more than 3 tabs. Labels will be truncated.

Figure 5. Avoid scrolling of the action overflow. Use e.g. long-press for quick access of certain actions.

Layout - view

Take care of proper alignment and design consistency.
  • Proper indentation for all items.
  • Same size for all items of a group.

Figure 6. Proper indention and identical size of components make the app look more neat and well thought of.

Avoid scrolling if you can.

Prefer not to require scrolling where possible, even at the cost of impressive graphics and layouts.  

Figure 7. Instead of a screen with hero image and hidden UI elements, make everything directly accessible in a list.

Use consistent labels; from list to view header.

Figure 8. Use labels consistently from view to view.

Figure 9. Use labels consistently within a view.

Check that labels always match content; for example:

  • Text in an item that opens a new view matches with the new view's header.
  • The text in a query matches the available actions.

Use identical wording. Do not use terms just being "close enough".

Use standard UI components for simple tasks.

Do not reinvent how a list or dialog is working.

In error situation, support people to find a solution:
  • Help the user to recover from the situation.
  • Place a link to fix the setting that prevents using the app.
  • Use an indicator to mark the missing or wrong input field.

Figure 10. Help the user solve error situations.

Layout - app navigation

Keep your app structure logical and easy to understand.
  • Use only one main navigation paradigm.
  • No combination of drawer and tabs.
  • No multiple tab bars.

Figure 11. Less is more with controls.

Back button should work as intended.
  • The back button is mapped to move to previous activity (going down in the activity stack).
  • You should have a very good reason to overwrite this standard behavior.
  • It's not recommended to duplicate Back/Exit on root level, people should exit the app only via the HW back button.
  • Back button should not toggle between 2 views (open a Dialog and then dismiss it).
  • Read more about backstepping from Android guidelines.

Figure 12. Back key should always take your user to the previous activity.

Games should start with music and sounds "off".

Even short music and sound pieces are likely to annoy people in an otherwise silent environment. If the sound is off at start, the app does not annoy people around you. Switching the sound on and off should be made easy to enjoy the sound if wanted.

Sound settings should be available from:
  • First view
  • Settings
  • On other views at least from the Options menu

Figure 13. Ensure easy access to sound settings.

Menus, dialogs and popups

  • In dialogs, place the:
    • dismissive action (No, Cancel) to the left button,
    • admissive action (Yes) to the right button to stay consistent with the platform.
  • Dim the background when showing Menus/Dialogs/Popups. People must know what is on top and what they can access in each state.

Figure 14. Ensure the buttons are in correct order (positive - negative) and that the background is dimmed.

Last updated 10 June 2014

Back to top