1---2name: 2503-sections-5ac3d37c3description: Android Design Guidelines — Section Index4---5# Android Design Guidelines — Section Index67Quick reference for locating rules by category and ID.89## Section Map1011| # | Section | Priority | Rules | Topics |12|---|---------|----------|-------|--------|13| 1 | Material You & Theming | CRITICAL | R1.1–R1.11 | Dynamic color, color roles, light/dark themes, custom seeds, tonal palettes |14| 2 | Navigation | CRITICAL | R2.1–R2.12 | Navigation bar, navigation rail, navigation drawer, predictive back, up vs back |15| 3 | Layout & Responsive | HIGH | R3.1–R3.10 | Window size classes, Material grid, edge-to-edge, insets, foldable support |16| 4 | Typography | HIGH | R4.1–R4.5 | Type scale, sp units, font scaling, line height, custom fonts |17| 5 | Components | HIGH | R5.1–R5.18 | FAB, top app bar, bottom sheets, dialogs, snackbars, chips, cards |18| 6 | Accessibility | CRITICAL | R6.1–R6.12 | TalkBack, contentDescription, touch targets, contrast, focus order |19| 7 | Gestures & Input | MEDIUM | R7.1–R7.7 | System gestures, pull to refresh, swipe to dismiss, long press, ripple |20| 8 | Notifications | MEDIUM | R8.1–R8.9 | Channels, importance, messaging style, expandable, foreground service |21| 9 | Permissions & Privacy | HIGH | R9.1–R9.8 | Runtime permissions, rationale, photo picker, approximate location |22| 10 | System Integration | MEDIUM | R10.1–R10.10 | Widgets (Glance), app shortcuts, deep links, share sheet |2324## Rule Index2526### 1. Material You & Theming [CRITICAL]2728- **R1.1** — Provide fallback static color scheme for devices below Android 1229- **R1.2** — Never hardcode color hex values; use theme color roles30- **R1.3** — Test with at least 3 wallpapers for dynamic color harmony31- **R1.4** — Foreground elements must use matching `on` color role32- **R1.5** — Use `surface` variants for backgrounds, not `primary`/`secondary`33- **R1.6** — Use `tertiary` sparingly for accent only34- **R1.7** — Always support both light and dark themes35- **R1.8** — Dark theme uses tonal mapping, not pure black36- **R1.9** — Provide manual theme override (System/Light/Dark)37- **R1.10** — Generate tonal palettes from seed via Material Theme Builder38- **R1.11** — Support dynamic color as default; custom colors as fallback3940### 2. Navigation [CRITICAL]4142- **R2.1** — Navigation Bar for 3-5 destinations on compact screens43- **R2.2** — Always show labels on navigation bar items44- **R2.3** — Filled icons for selected, outlined for unselected45- **R2.4** — Active indicator uses `secondaryContainer`46- **R2.5** — Navigation Rail on medium (600dp+) and expanded screens47- **R2.6** — Optionally include FAB in rail header48- **R2.7** — Rail labels optional but recommended49- **R2.8** — Modal drawer on compact, permanent drawer on expanded50- **R2.9** — Group drawer items with dividers and section headers51- **R2.10** — Opt in to predictive back; use `OnBackInvokedCallback`52- **R2.11** — System back != Up button; they may navigate differently53- **R2.12** — No "are you sure?" on back unless unsaved user input5455### 3. Layout & Responsive [HIGH]5657- **R3.1** — Use `WindowSizeClass` for responsive decisions58- **R3.2** — Never use fixed pixel breakpoints59- **R3.3** — Support all three width size classes60- **R3.4** — Max content width ~840dp on expanded screens61- **R3.5** — Consistent horizontal margins per grid spec62- **R3.6** — Call `enableEdgeToEdge()` before `setContent`63- **R3.7** — Use `WindowInsets` to pad content from system bars64- **R3.8** — Scrollable content scrolls behind transparent system bars65- **R3.9** — Detect fold/hinge; avoid content across fold66- **R3.10** — Use `ListDetailPaneScaffold` for foldable-aware layouts6768### 4. Typography [HIGH]6970- **R4.1** — Use `sp` units for all text sizes71- **R4.2** — Minimum 12sp body text, 11sp labels72- **R4.3** — Reference `MaterialTheme.typography` roles, not hardcoded sizes73- **R4.4** — Test at 200% font scale; no clipping74- **R4.5** — Line height 1.2-1.5x font size7576### 5. Components [HIGH]7778- **R5.1** — At most one FAB per screen79- **R5.2** — FAB at bottom-end, above Navigation Bar80- **R5.3** — FAB uses `primaryContainer` by default81- **R5.4** — Prefer `ExtendedFloatingActionButton` with label82- **R5.5** — Small top app bar for most screens; medium/large for prominent titles83- **R5.6** — Connect scroll behavior to top app bar84- **R5.7** — Limit action icons to 2-3; overflow the rest85- **R5.8** — Modal bottom sheets for supplementary; standard for persistent86- **R5.9** — Bottom sheets must have visible drag handle87- **R5.10** — Sheet content must be scrollable if it overflows88- **R5.11** — Dialogs for critical decisions only89- **R5.12** — Confirm button is text button; dismiss on left90- **R5.13** — Dialog titles are concise questions or statements91- **R5.14** — Snackbars for brief non-critical feedback92- **R5.15** — Snackbars above Navigation Bar, below FAB93- **R5.16** — Include undo action when operation is reversible94- **R5.17** — Correct chip type for use case (Filter/Assist/Input/Suggestion)95- **R5.18** — Chips in horizontal scroll or flow layout, not stacked vertically9697### 6. Accessibility [CRITICAL]9899- **R6.1** — Every interactive element needs `contentDescription`100- **R6.2** — Describe action/meaning, not visual appearance101- **R6.3** — `mergeDescendants` for grouped related elements102- **R6.4** — Provide `customActions` for swipe/long-press actions103- **R6.5** — Minimum 48x48dp touch targets104- **R6.6** — Do not reduce touch targets to save space105- **R6.7** — Text contrast >= 4.5:1 normal, >= 3:1 large106- **R6.8** — Never use color alone to convey information107- **R6.9** — Support bold text and high contrast settings108- **R6.10** — Logical focus order (top-to-bottom, start-to-end)109- **R6.11** — Move focus to logical target after navigation/dialog dismissal110- **R6.12** — Full operability via TalkBack, Switch Access, keyboard111112### 7. Gestures & Input [MEDIUM]113114- **R7.1** — No interactive elements in system gesture zones115- **R7.2** — Use `WindowInsets.systemGestures` to detect conflict zones116- **R7.3** — Swipe-to-dismiss must be undoable or confirmed117- **R7.4** — Non-gesture alternatives for all gesture actions118- **R7.5** — Material ripple on all tappable elements119- **R7.6** — Long press for context menus; never the only access path120- **R7.7** — Haptic feedback on long press121122### 8. Notifications [MEDIUM]123124- **R8.1** — Separate channels for each notification type125- **R8.2** — Choose importance levels conservatively126- **R8.3** — All notifications must have a tap action127- **R8.4** — Notification icons need `contentDescription`128- **R8.5** — `MessagingStyle` for conversations129- **R8.6** — Direct reply actions on message notifications130- **R8.7** — "Mark as read" action on message notifications131- **R8.8** — Use expandable styles for rich content132- **R8.9** — Foreground service notifications describe operation + stop action133134### 9. Permissions & Privacy [HIGH]135136- **R9.1** — Request permissions in context, not at launch137- **R9.2** — Show rationale before requesting138- **R9.3** — Graceful degradation on denial139- **R9.4** — Never request unnecessary permissions140- **R9.5** — Use Photo Picker instead of `READ_MEDIA_IMAGES`141- **R9.6** — Prefer `ACCESS_COARSE_LOCATION` unless precise is essential142- **R9.7** — One-time permissions for camera/mic in non-recording contexts143- **R9.8** — Privacy indicator when camera/mic actively in use144145### 10. System Integration [MEDIUM]146147- **R10.1** — Glance API for widgets with dynamic color148- **R10.2** — Widgets must work immediately after placement149- **R10.3** — Multiple widget sizes where practical150- **R10.4** — Rounded corners matching system widget shape151- **R10.5** — 2-4 static shortcuts; support dynamic shortcuts152- **R10.6** — Shortcut icons: simple silhouettes on circular background153- **R10.7** — Test shortcuts via long-press and Settings154- **R10.8** — Android App Links for public content URLs155- **R10.9** — Share sheet with rich previews156- **R10.10** — Handle incoming share intents with content type filtering157158## Cross-References159160| Topic | Primary Section | Also See |161|-------|----------------|----------|162| Dark theme | 1.3 | 6.3 (contrast) |163| Touch targets | 6.2 | 7.1 (gesture zones) |164| System bars | 3.3 | 7.1 (gesture insets) |165| FAB placement | 5.1 | 2.2 (rail header), 5.15 (snackbar) |166| Font scaling | 4.1 | 6.4 (accessibility) |167| Permissions | 9.1 | 9.5 (photo picker) |168| Navigation sizing | 2.5 (table) | 3.1 (window size classes) |169| Color roles | 1.2 | 2.4 (nav indicator), 5.3 (FAB color) |