2.0 KiB
Settings — Appearance
Controls navigation mode, nav slot assignment, theme, accent colour, and language.
Fragment — SettingsAppearanceFragment
Navigation Mode
A toggle/radio group:
| Mode | Description |
|---|---|
| Drawer | Slide-out navigation drawer (default) |
| Bottom Navigation | Bottom bar with 3 visible slots + Dashboard + More |
Changing mode takes effect immediately; HomeActivity recreates its navigation structure.
Navigation Slot Customisation — NavCustomization
A drag-and-drop list of all 10 navigation destinations. The user reorders items to assign them to slots.
Drawer Mode
All 10 items appear in the drawer in the configured order.
Bottom Navigation Mode
- Slots 1–3 appear in the bottom bar
- Slot 4–10 appear in the More bottom sheet (
NavMoreSheetFragment) - Dashboard is always pinned as the first tab and is not part of the 10-item pool
Quick Action Slots
Two dedicated quick-action slots are configured separately at the bottom of the customisation screen. These map to FAB-style buttons shown on the dashboard card.
Persistence
The ordered list is serialised to SharedPreferences as a comma-separated string of destination IDs.
Theme
A three-way selector:
| Option | Behaviour |
|---|---|
| System default | Follows the device's dark/light mode |
| Light | Forces light theme |
| Dark | Forces dark theme |
Applied via AppCompatDelegate.setDefaultNightMode().
Accent Colour
A horizontal chip row with several Material colour options. The selected accent is applied to the app's MaterialTheme colour scheme (primary / secondary).
Language
A dropdown or chip selector:
| Option |
|---|
| System default |
| English |
| Dhivehi |
Applied via AppCompatDelegate locale override. Takes effect immediately (activity recreate).