Sign in

The UX Patterns

This is an article part of a series. For objectives, fundamentals, project structure, and articles summary, see Android::Simplified

Make sure to read article UX Policies Part 1: The Problem first!

Repository: https://gitlab.com/migueltt/simpleandroid

Based on Part 1, your app should have a standardized structured according to your requirements, defining main UI components for navigation and interaction that applies to all screeens, with some exceptions.

At this point, you probably are already quite familiar with these patterns and components, but keep reading! At the end, I’ll show you what the strategy will look like in order to provide structure to the whole…


The Problem

This is an article part of a series. For objectives, fundamentals, project structure, and articles summary, see Android::Simplified

Make sure to read article Single-Activity first!

Repository: https://gitlab.com/migueltt/simpleandroid

Modern Android apps follow the Single-Activity principle, which states that your single Activity contains all major components like Toolbar (top or bottom), Drawer, BottomSheetDialog, or even a BottomNavigationView, all of them surrounding a container (NavHostFragment) that hosts all Fragments within a navigation-graph.

This sounds quite simple, but things get complicated when defining different modules requiring specific UX patterns:

  • Sequence of screens where Back-Gesture is required
  • Screens requiring special Toolbar design
  • Some screens should…

This is an article part of a series. For objectives, fundamentals, project structure, and articles summary, see Android::Simplified

Make sure to read the Decoupling Binding article first!

Repository: https://gitlab.com/migueltt/simpleandroid

There’s has been much debate whether to use the Single-Activity architecture. This has multiple benefits but it all depends on how the app is organized:

  • It is not about a “single” Activity, but rather how “screens” are organized — that is, a complete workflow
  • A “screen” is any component that displays information to the user — for Android, these could be Fragments, and, why not, Activities
  • It’s not just adding all…

This is an article part of a series. For objectives, fundamentals, project structure, and articles summary, see Android::Simplified

Jetpack Compose is in beta! (as of March 2021)

Repository: https://gitlab.com/migueltt/simpleandroid

Modern Android apps are quite simple to build nowadays — that is, if you follow the Android Architecture Component guidelines. It can be simplified even more if you follow these principles:

  • A Fragment is just the glue for the UI and your ViewModel
  • Refactor all your UI related code into extension functions
  • Do not create coroutines within your Fragment — the ViewModel is the only one launching coroutines — the main…

Miguel T

Senior Android Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store