Build Android Apps That Are Stunningly Attractive, Functional, and Intuitive
In today’s crowded Android marketplace, it’s more important than ever to differentiate your apps. Great design is the best way to do that. Now, leading Android app design expert Ian G. Clifton shows you how to make your apps come alive and how to deliver apps that users will want, love, and buy!
Reflecting the Android 4.2 SDK, this book serves both as a tutorial for the entire design and implementation process and as a handy reference you’ll rely on for every Android development project.
Clifton shows how to create effective designs, organize them into Android components, and move gracefully from idea, to wireframe, to comp, to finished app. You’ll learn how to bring your own voice, personality, and style to your app designs; how to leverage advanced drawing techniques such as PorterDuff compositing; how to test designs on diverse Android devices; and much more.
Android User Interface Design details each step of the design and development process and contains extensive downloadable sample code, including complete finished apps.
- Learn how Android has evolved to support outstanding app design
- Integrate app design with development, from idea through deployment
- Understand views, the building blocks of Android user interfaces
- Make the most of wireframes and prototypes
- Build efficient layouts and integrate smooth animations
- Make apps more useful by automatically updating ListViews
- Combine views into custom components
- Use image compositing and other advanced techniques
- Work with the canvas and advanced drawing
- Leverage Google Play and Amazon Appstore assets
One step at a time, this guide helps you bridge the gap between Android developers and designers so you can work with colleagues to create world-class app designs...or do it yourself!
Table of Contents:
Introduction 1
Part I: The Basics of Android User Interface
Chapter 1: Android UI Overview 5
A Brief History of Android Design 6
The Android Design Website 7
Core Principles 8
Standard Components 16
Supporting Multiple Devices 19
Notable Changes 20
Summary 21
Chapter 2: Understanding Views--The UI Building Blocks 23
What Is a View? 24
Displaying Text 29
Displaying Images 33
Views for Gathering User Input 36
Other Notable Views 40
Listening to Events 42
Summary 44
Chapter 3: Creating Full Layouts with View Groups and Fragments 45
ViewGroup 46
Fragments 57
Summary 60
Chapter 4: Adding App Graphics and Resources 61
Introduction to Resources in Android 62
Resource Qualifiers 62
Understanding Density 67
Supported Image Files 68
Nine-Patch Images 69
XML Drawables 71
Other Resources 81
Summary 84
Part II: The Full Design and Development Process
Chapter 5: Starting a New App 87
Defining Goals 88
High-Level Flow 91
Wireframes 94
Summary 106
Chapter 6: Developing the App Foundation 107
Organizing into Activities and Fragments 108
Breaking Wireframes into Views 116
Creating Themes and Styles 131
Summary 132
Chapter 7: Finalizing the Design 133
Wireframes and Graphical Design 134
App Visual Style and Personality 134
Text Considerations 143
Standard Icons 148
Dynamic Content Considerations 149
Navigation and Transitions 150
Error Cases 150
Summary 150
Chapter 8: Applying the Design 153
Working with the Designer 154
Slicing the Graphics Assets 155
Updating Themes and Styles 160
Breaking Comps into Views 161
Improving Efficiency 166
Basic Testing Across Device Types 174
Summary 175
Chapter 9: Further Improving the App 177
Hierarchy Viewer 178
Animations 184
Custom Fonts 194
Summary 198
Part III: Advanced Topics for Android User Interfaces
Chapter 10: How to Handle Common Components 199
Splash Screen 200
Loading Indication 210
Complex TextViews 212
Autoloading ListViews 217
Summary 222
Chapter 11: Combining Views for Custom Components 223
When to Combine Views 224
Combining Views to Simplify Working with Them 224
Implementing a Multibutton Toggle 236
Summary 255
Chapter 12: Developing Fully Custom Views 257
General Concepts 258
Developing the Custom View 263
Summary 298
Chapter 13: Working with the Canvas and Advanced Drawing 299
PorterDuff Image Compositing 300
Creating Custom Drawables 319
Summary 324
Part IV: Helpful Guides and Reference
Appendix A: Google Play Assets 325
Application Description 326
The Change Log 327
Application Icon 327
Screenshots 328
Feature Graphic 329
Promotional Graphic 334
Video (YouTube) 334
Promoting Your App 335
Appendix B: Amazon Appstore Assets 337
Overview 338
The Application Icon 338
Screenshots 339
Promotional Graphic 339
Videos 340
Appendix C: Common Task Reference 343
Indicating Loading in the Action Bar 344
Dismissing the Software Keyboard 350
Using Full Screen Mode 351
Keeping the Screen On 352
Determining the Device’s Physical Screen Size 352
Determining the Device DPI 353
Checking for a Network Connection 354
Checking if the Current Thread Is the UI Thread 354
Custom View Attributes 355
Index 363
About the Author :
Ian G. Clifton is the Director of User Experience and lead Android developer at A.R.O. in Seattle, where he develops Saga, an Android and iOS app that learns about you in order to let you live a better life with minimal interaction. He has worked with many designers in the course of his career and has developed several well-known Android apps, such as CNET News, CBS News, Survivor, Big Brother, and Rick Steves' Audio Europe.
Ian's love of technology, art, and user experience has led him along a variety of paths. Besides Android development, he has done platform, web, and desktop development. He served in the United States Air Force as a Satellite, Wideband, and Telemetry Systems Journeyman and has also created quite a bit of art with pencil, brush, and camera.
You can follow Ian G. Clifton on Twitter at http://twitter.com/IanGClifton and see his thoughts about mobile development on his blog at http://blog.iangclifton.com. He also published a video series called "The Essentials of Android Application Development," available at http://my.safaribooksonline.com/video/programming/android/9780132996594.
Review :
“Android User Interface Design is a truly excellent book, written by one of the most experienced and knowledgeable Android developers. This is a very practical, highly readable guide and a great how-to resource for every Android developer. Each chapter reveals a clear and deep understanding of UI design. I highly recommend this book to anyone wishing to develop Android apps with superior UI.”
--Kyungil Kim, Software Engineer, Facebook
“I recommend this book for all Android developers who work alone and want to give a professional look to their apps. The content of the book is excellent and covers all aspects needed to understand how to design Android apps that stand out.”
--Gonzalo Benoffi, CEO, Coffee and Cookies, Android Development
“Design was never part of a developer’s job until mobile app development started; now it’s a must. This book gives a simple yet effective way to design your apps. It’s easy for beginners and informative for experienced developers as well. This is the best book I could ever refer to anyone who is in Android development. A one-time read of this book covers the experience you might gain from three years of learning development. I am amazed to see instructions on how to design starting from wireframes, which is something no other book has provided clear enough explanation of. (Some don’t even cover it.) I really love it. Thanks to Ian for this wonderful contribution to the Android developer community. Best, simple, and effective!”
--Chakradhar Gavirineni, Android Application Developer, Adeptpros IT Solutions Pvt Ltd.
“Ian’s book is an invaluable resource for everything there is to know about designing, creating layouts, and rendering Android applications. The ‘Common Task Reference’ appendix is an excellent addition that makes this book a must-have. Make sure to keep this one within arm’s reach of your desk.”
--Josh Schumacher, Software Engineer, HasOffers
“From the first few pages, this book provides a wealth of tips, tricks, and techniques for developing Android user interfaces. If you are grappling with all the various view types, then read this book--it really helps cement when and why you should include the various UI components to great effect (with worked examples!). Well worth a read by anyone looking for inspiration to improve their user interface into a great user experience.”
--Richard Sey, PassBx Developers