Advanced User Interfaces
User interfaces are a never-ending source of complexity. It seems like every time
that we turn around, somebody else is asking for our UI to do something that it
does not do. While a basic UI can solve most problems for most users, solving
all problems for all users tends to require a lot more work.
In this seminar, we will dive deeply into some common Android constructs,
to see how we can configure them to solve more problems while retaining the
core for our basic UI.
More specifically, during this one-day seminar, we will explore the following:
- What are guidelines, and how can we use them?
- What is a bias, and how can we take advantage of it?
- What are chains, and how can we use them?
- How can we use constraints to keep a widget at a certain aspect ratio?
- How do we implement single-selection lists or grids?
- How do we implement multiple-selection lists or grids?
- How do we associate action modes with multiple-selection lists or grids?
- How do we use
RecyclerView in lieu of a
Advanced Data Binding
- What sorts of syntax can we use in binding expressions?
- What properties of views can we configure with binding expressions?
- What if that’s not good enough, and I want to have my own custom properties?
- What if the data types that I have do not match the data types that properties need?
- How does data binding know to update its views? How can we configure that behavior?
- What is two-way data binding?
- How can I get control on key page events, such as when the page is loaded?
- How can I get control when the user clicks on links in the page?
- How do we write our own custom widget, as a reusable aggregation of other widgets?
- How do we write our own custom widget, using lower-level drawing APIs?
- How do we write our own custom
Advanced Preference UI
- How do we create custom preferences?
- How do we dynamically populate a
- How do we use
Fonts and Rich Text
- How do I use custom fonts?
- What are font resources, and how do I use them?
- How can I make parts of text be bold, or italic, or even both bold and itatlic?