User Interfaces: Beyond the Basics
Android user interfaces can range from the very simple to the very complex.
If you have already implemented some basic user interfaces, then this seminar can help you
deal with more elaborate scenarios. In particular, this seminar is focused on
building blocks of user interfaces independent of any particular design
aesthetic (e.g., material design).
More specifically, during this one-day seminar, we will explore the following:
- Why are dialogs frowned upon?
- How do we create activities that look like dialogs?
- How do we use
AlertDialog inside a single activity?
- Why do we need a
ProgressDialog deprecated, what do we do for a replacement?
- What is
Toolbar, and why do we have it, given that we have the action bar?
- How do we use
Toolbar in our UI?
- How do we make a
Toolbar serve as the action bar?
- How do we replace the action bar content during contextual operations (e.g., item selection)?
- How do we control the options in one of these “action modes”?
- How do we dismiss the action mode and return the action bar to its normal state?
- How does this work if we are using a
Accessibility and Focus Management
- What are the basic steps for enabling accessibility in our Android apps?
- What control do we have over the order in which views are navigated using arrow keys/D-pad/etc.?
- How do we create custom accessibility support?
- How does Android 7.0’s multi-window feature affect our app?
- How can we prevent our app from being used in a window?
- How can we find out when our app is in (or is not in) a window?
- How can we open activities in separate windows?
- How does all of this relate to legacy proprietary multi-window implementations from Samsung, LG, etc.?
- How does Android 8.0’s picture-in-picture mode relate to all of this?
- How do we designate content that can be dragged within an activity’s UI?
- How do we designate drop targets within an activity’s UI?
- How do we initiate drags, and how do we respond to drops?
- How do we do this between windows in a multi-window environment?
- What is a navigation drawer? And why is its icon called a “hamburger”?
- What should go into a navigation drawer?
- How do we set up a navigation drawer and cause it to hide and show?
- What are our options for putting content into the drawer itself?