Introduction
Audience for this book
Organization of this book
How to use this book
This book's website
Conventions used in this book
Part I: The basics of Android User Interfaces
1. Android UI and material design
A brief history of Android design
Material design
The Android design website
Core principles
Standard components
Supporting multiple devices
Avoiding painful mistakes
Summary
2. Understanding views - The UI building blocks
What is a view?
Displaying text
Displaying images
Views for gathering user input
Other notable views
Listening to events
Other listeners
Summary
3. Creating full layouts with view groups and fragments
Understanding ViewGroup and the common implementations
Encapsulating view logic with fragments
The support library
Summary
4. Adding app graphics and resources
Introduction to resources in Android
Resource qualifiers
Understanding density
Supported image files
Nine-patch images
XML drawables
Other resources
Summary
Part II: The full design and development process
5. Starting a new app
Design methods
Defining goals
High-level flow
Wireframes
Continuing with content pieces
Summary
6. Prototyping and developing the app foundation
Organizing into activities and fragments
Creating the first prototype
Evaluating the first prototype
Summary
7. Designing the visuals
Wireframes and graphical design
Tools
Styles
Lighting
Colors
Ttext considerations
Other considerations
Designing step-by-step
Summary
8. Applying the design
Working with the designer
Slicing the graphics assets
Themes and styles
Breaking comps into views
Developing the woodworking app
Basic testing across device types
Summary
9. Polishing with animations
Purpose of animations
View animations
Property animations
Property animation control
ViewPropertyAnimator
Animating form errors
Animating icons
Simple transitions
Summary
Part III: Advanced topics for android user interfaces
10. Using advanced techniques
Identifying jank
Using systrace to understand jank
Optimizing images
Additional performance improvements
Hierarchy viewer
Custom fonts
Complex textViews
RecyclerView
Summary
11. Working with the canvas and advanced drawing
Creating custom drawables
Paint
Canvas
Working with text
Working with images
Color filters
Shaders
Summary
12. Developing custom views
General concepts
Measurement
Layout
Drawing
Saving and restoring state
Creating a custom view
Summary
13. Handling input and scrolling
Touch input
Other forms of input
Creating a custom view
Summary
Appendix A. Google Play assets
Application description
The change log
Application icon
Screenshots
Feature graphic
Promotional graphic
Video (Youtube)
Promoting your app
Amazon Appstore
Appendix B. Common task reference
Dismissing the software keyboard
Using full screen mode
Keeping the screen on
Determining the device's physical screen size
Determining the device's screen size in pixels
Determining the device DPI
Checking for a network connection
Checking if the current thread is the UI thread
Custom view attributes
Index