Android settings

App settings let users indicate preferences for how an app should behave.


Placement

All of an app’s settings should be reached via the “Settings” label. Don’t use synonyms such as “Options” or “Preferences.”

Apps with side navigation

If side navigation such as a navigation drawer exists, include “Settings” below all other items (except Help & Feedback).

Apps without navigation

Place Settings in the toolbar menu below all other items (except Help & Feedback).


Usage

Settings should be well-organized, predictable, and contain a manageable number of options.

Provide an overview

A user should be able to quickly see the most important or frequently used settings and their values.

If there are many settings, prioritize the ones most likely to interest users. Less important settings can be grouped and moved to their own screen.


Important settings appear at the top of the list.




Select appropriate settings

Settings should: Settings should not:

Read More

Settings should:

  • Save user preferences
  • Get accessed infrequently
  • Be used by most users
  • Be used by a minority of users, but be essential to supporting their needs

Settings should not:

  • Be frequently accessed actions (move these to a toolbar)
  • Contain information about the app, such as a version number or licensing information (move these to a Help screen)
  • Manage user accounts (present these in the main flow of your app, such as a side nav)

Choose polite defaults

The initial value for each setting should:

Read More

The initial value for each setting should:

  • Represent the default most users would choose
  • Be neutral and pose little risk to the user
  • Use less battery or mobile data
  • Only interrupt when important

Grouping settings

Show the most important or frequently used settings upfront.

Divider lines

Use divider lines to group together several related settings. Avoid using dividers between each individual setting.

Section titles (optional)

Grouped settings can include a section title. Section titles should be specific, avoiding ambiguous names like “Other” or “Miscellaneous.”

15+ settings

Related settings are best grouped under a subscreen. Use consistent terms: the label of the setting that opens a group should match the subscreen title.

Grouping settings


Label and secondary text

Labels

Make your labels brief and meaningful. Labels will wrap to multiple lines if necessary. Labels should: Labels should avoid: All labels should align with the...

Read More

Make your labels brief and meaningful. Labels will wrap to multiple lines if necessary.

Labels should:

  • Capitalize only proper nouns and the first word of a label
  • Start with the most important text
  • Avoid negative terms like "Don't" or "Never," in favor of neutral terms like "Block"
  • Use impersonal labels like "Notifications" instead of "Notify me" (Exception: If referring to the user is necessary for understanding the setting, use the second person ("you") rather than the first person ("I"))

Labels should avoid:

  • Generic terms, such as: Set, Change, Edit, Modify, Manage, Use, Select, or Choose
  • Repeating words from the section title
  • Technical jargon, unless it's widely understood by your target audience

Alignment

All labels should align with the left edge of the screen title. This provides a simpler, unified appearance.

Labels align with the screen title

Secondary Text (optional)

Secondary text helps the user better understand the current state of a setting. If the label is sufficient on its own, don't add secondary text.

Don’t.

Avoid repeating words from the label in the secondary text.

Switch or checkbox settings

Switch and checkbox settings that require precise descriptions may add a single-line description under the label.

Descriptions should:

  • Convey information about a setting’s state or status
  • Indicate what happens when a setting is enabled



Do.

Start the description with a verb.

Do.

Explain the current status of the setting.

Settings that require longer explanations may add a description on a second screen.


Underneath the label, show the status text of the switch as "On" or "Off.”





Add the switch and a longer description to a second screen.




All other settings

For non-switch settings, secondary text should show the current status of a setting only.

Sleep
After 10 minutes of inactivity

Do.

The secondary text conveys the current state of the setting.

Screen timeout
Adjust the delay before the screen automatically turns off

Don’t.

Avoid describing the setting. Show the setting’s status instead.

Selection patterns

Use this pattern for a setting that is either selected or not selected. Use this pattern for a setting that needs to present a discrete...

Read More

Single choice

Use this pattern for a setting that is either selected or not selected.

Multiple choice

Use this pattern for a setting that needs to present a discrete set of options, from which the user can choose only one.

Slider

Use this pattern for a setting where the range of values is not discrete and falls along a continuum.

Date and time

Use this pattern for a setting that needs to collect a date or time from the user.

List subscreen

Use this pattern for a setting or category of settings that contains a list of equivalent items.

The label provides the name of the item, and secondary text may be used for status. (In this example, status is reinforced with an icon to the right of the label.) Any actions associated with the list appear in the action bar rather than the list itself.

Master on and off switch

Use this pattern when you need a mechanism to turn off an entire category of settings.

An on/off switch is placed as the first item in the action bar of a subscreen. When the switch is turned off, the items in the list disappear, replaced by text that describes while the list is empty. If any actions require the switch to be on, they become disabled.

You can also duplicate the master on/off switch in the menu item that leads to the subscreen. However, you should only do this in cases where users rarely need to access the subscreen once it's initially set up.

Individual on/off switch

Use this pattern for an individual setting that requires a more elaborate description than can be provided in checkbox form.

The on/off switch only appears in the subscreen so that users can only toggle it while viewing its descriptive text. Secondary text appears below the setting label to reflect the current selection.

Since users might not know what this setting does, the status is more descriptive than just the word, "On".

Dependency

Use this pattern for a setting that is only available based on the value of another setting.

A dependent setting appears below the setting it depends upon, without indentation. If it has a status line, it should say "Unavailable." A brief explanation can be included in the status if the reason it’s unavailable isn’t obvious.

If a setting has three or more dependent settings, a subscreen with a master on/off switch reduces the clutter introduced by many disabled items.


Writing style

Be direct and understandable.

Vibrate on touch

Do.

Use tactile feedback

Don’t.

For a setting adjusted via a dropdown menu or on a separate screen, summarize the setting’s current state in the text below the label.

Sleep
After 10 minutes of inactivity

Do.

Display the currently selected setting.

Sleep
Adjust the period of inactivity before the screen turns off

Don’t.

Don’t display the setting’s general purpose.

On the lock screen
Don’t show notifications at all

Do.

When possible, use the same language as the option itself – in this case, an item in the related dropdown menu.

Lock screen notifications
Control whether to display all notification content, only non-sensitive content, or no notifications at all.

Don’t.

Don’t describe the setting’s purpose or all available selection options.

Use familiar acronyms when there aren’t better alternatives. Convey how and why an unfamiliar setting exists.

NFC
Allow data exchange when the phone touches another device

Do.

NFC
Use Near Field Communication to read and exchange tags

Don’t.