Book description
If you're an Android application developer, chances are you're using fixed, scrolling, swipe-able, and other cutting-edge custom UI Designs in your Android development projects. These UI Design approaches as well as other Android ViewGroup UI layout containers are the bread and butter of Pro Android User Interface (UI) design and Android User Experience (UX) design and development.
Using a top down approach, Pro Android UI shows you how to design and develop the best user interface for your app, while taking into account the varying device form factors in the increasingly fragmented Android environment. Pro Android UI aims to be the ultimate reference and customization cookbook for your Android UI Design, and as such will be useful to experienced developers as well as beginners.
With Android's powerful UI layout classes, you can easily create everything from the simplest of lists to fully tricked-out user interfaces. While using these UI classes for boring, standard user interfaces can be quite simple, customizing a unique UI design can often become extremely challenging.
What you'll learn
How to design and develop a sleek looking and highly functional user interface (UI) design and experience (UX) design using Android APIs
What Android layout containers are, and how to best leverage them
How to design user-friendly UI layouts that conform to Android UI guidelines
What, when, why and how to use fundamental Android UI layout containers (ViewGroup subclasses) and Android UI widgets (View subclasses)
How to use new media assets such as images, video, and animation in a UI
How to create UI Fragments for UI design for specific ActionBar or Activity classes that you wish to create for UI designs within your applications
Scaling UI Design for the various Android smartphone and tablet form factors
Who this book is for
This book is for experienced Android app developers. It can also be for app developers and UI designers working on other platforms like iOS and BlackBerry who might also be interested in Android.
Table of contents
- Title Page
- Dedication
- Contents at a Glance
- Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Introduction
-
Part 1: Introduction to the Core Classes for Android UI Design: Development Tools, Layout Containers and Widgets
-
Chapter 1: Android UI Design Tools: Setting Up Your Android Development System
- Java 6: Download and Install the Foundation for Android
- Android ADT Bundle: Find and Download Android’s IDE
- Android ADT Bundle: Installing the Android IDE
- Android ADT Bundle: Launch the IDE and Update the ADT
- UI Wireframing Tool: Downloading and Installing Pencil
- Digital Image Editing: Download and Install GIMP 2.8.10
- 3D Modeling and Animation: Download and Install Blender
- Digital Audio Editing: Downl oad and Install Audacity 2.0.5
- Digital Video Editing: Download and Install Lightworks 11.5
- Summary
-
Chapter 2: Android UI Layouts: Layout Containers and the ViewGroup Class
- Layout Containers: Using XML for Tag-based UI Design
- Using Parameters: Refining and Customizing the UI Tags
- Android ViewGroup: Our Layout Container’s Superclass
- ViewGroup.LayoutParams: Nested Class Controls Layout
- ViewGroup.MarginLayoutParams: Nested Class for Margin
- The Difference Between Margins and Padding Parameters
- Animating Your ViewGroup: LayoutAnimationController
- Create a UserInterface Project and pro.android.ui Package
- ViewGroup XML Attributes: Configuring the RelativeLayout
- View XML Attributes: Configuring the TextView UI Widget
- View Padding Parameter: Add Space Inside the Container
- The AnalogClock Widget: Adding a View to the ViewGroup
- Using the Values Folder: Finish Your UI Design Using XML
- Summary
-
Chapter 3: Android UI Widgets: User Interface Widgets and the View Class
- The Android View Class: The Superclass for UI Widgets
- Android View Direct Subclasses: Key Widgets and Utilities
- Using View Properties: Important Parameters
- Focus of a View: Which UI Widget has the User’s Attention
- View Listeners: Making a UI Widget Respond to the User
- UI Layout Creation: Using the setContentView() Method
- Adding a Button UI Widget to Our RelativeLayout Container
- Eclipse ADT Problems Tab: Debugging XML Errors in ADT
- Relative Positioning: Adding the UI Button to the Hierarchy
- String Constants: Adding a <string> Tag for Our UI Button
- Event Handling: Adding an OnClickListener in Java Code
- Controlling AnalogClock Visibility: .setVisibility() Method
- Install and Configure an Emulator: Testing Our Java Code
- Completing the UI Design Simulation: Adding Two Buttons
- Summary
-
Chapter 1: Android UI Design Tools: Setting Up Your Android Development System
-
Part 2: Introduction to Android Menu Classes for UI Design: OptionsMenu, ContextMenu, PopupMenu and ActionBar
-
Chapter 4: Android UI Options Menus: OptionsMenu Class and the Action Bar
- Android Menu Class: A Public Interface for Making Menus
- Menus for Android User Interface Design: An Overview
- Using XML to Define a Menu: <menu> and <item> Tags
- Defining the Menu Attributes: Using Child Tag Parameters
- Options Menu Design: Using the main.xml Menu Definition
- Customizing Our OptionsMenu: Adding String Constants
- Customizing Our OptionsMenu: Editing the Parameters
- Expanding Our OptionsMenu: Adding Six More MenuItems
- Basic Digital Imaging with GIMP: Creating Our Menu Icons
- Setting a Target Emulator: The Run Configurations Dialog
- Testing Our OptionsMenu: Using Switch Orientation Mode
- OptionsMenu Event Handling: onOptionsItemSelected()
- Summary
-
Chapter 5: Android UI Local Menus: The ContextMenu Class and PopupMenu Class
- ContextMenu Overview: The ContextMenu Public Interface
- ContextMenu Methods: How to Implement a ContextMenu
- ContextMenu Event Handling via onContextItemSelected()
- Creating a ContextMenu for Our UserInterface Application
- Android’s PopupMenu Class: A UI Widget Localized Menu
- Creating a PopupMenu UI for the UserInterface Application
- Summary
-
Chapter 6: Android UI Action Bar: Advanced Action Bar Design and ActionBar Class
- ActionBar Components
- The ActionBar Navigation Modes
- The Android ActionBar Class
- Creating an XML Foundation for ActionBar Tabs: Layouts
- Creating a Java Foundation for ActionBar Tabs: Fragments
- Android’s LayoutInflater Class
- Using LayoutInflater
- clockTabListener: A Private Class Implements TabListener
- The FragmentTransaction Class:
- Using FragmentTransaction
- The FragmentTransaction Class
- Summary
-
Chapter 4: Android UI Options Menus: OptionsMenu Class and the Action Bar
-
Part 3: Android UI Design: Layout Considerations, Android OS Design Concepts and Android UI Design Guidelines
-
Chapter 7: Android UI Design Considerations: Styles, Screen Density Targets and New Media Formats
- Android Media Formats: Digital Images and Digital Video
- The Terminology of Digital Image and Digital Video Color
- Digital Image Compression: Concepts and Terminology
- Sound for Android: Digital Audio Codecs and Formats
- The Terminology Behind Digital Audio and Sound Design
- Digital Video Compression: 4D Concepts and Terminology
- Define a UI Screen Look and Feel: An Introduction to Styles
- Creating a Style for Our UserInterface Application Clocks
- Using Digital Images and Alpha Channels: A New Media UI
- Using GIMP 2.8.10 with Android: Compositing Two Images
- Creating Resolution Density Image Assets for All Devices
- Summary
-
Chapter 8: Android UI Design Concepts: Wire-framing & UI Layout Design Patterns
- Prototyping the UI Design: Wire-framing Using Pencil 2.0.5
- Prototyping Your Landscape UI Design Using Pencil 2.0.5
- Android UI Design Is Complex: The Many Considerations
- Basic Android UI Design Rules: Conforming to Android UI
- Android UI Screen Navigation: Primary Gestures Used in Android
- Advanced UI Navigation Classes: Navigation Drawer or Swipe View
- Android Intra-Application Navigation: The Difference Between Up and Back
- Allowing Users to Configure Your Apps: Settings and Help
- Feedback in UI Design: Notification and Confirmation
- Branding in UI Design: Writing Style, Fonts, and Icons
- UI Design Patterns: Grouping Devices by Product Genres
- UI Design Patterns: Why Different Layouts Are Necessary
- UI Design for Backward Compatibility: Android 2, 3, and 4
- Android UI Design Principles: Exciting, Simple, and Personal
- Summary
-
Chapter 9: Android UI Layout Conventions, Differences and Approaches
- UI Layout Spacing: The 48 DIP User Interface Layout Rule
- UI Layout Panes: Single Pane Versus Multi-Pane Layouts
- UI Layout Compound View Types: Orientation Changes
- Auto-Scaling and Positioning UI Design: Layout Constants
- Design UI Elements Relative to Each Other: RelativeLayout
- Using Multiple UI Layout Definitions: Resource Qualifiers
- Creating Morphable UI Designs: Using Resource Qualifiers
- Summary
-
Chapter 10: Android UI Theme Design and Digital Media Concepts
- Introduction to Themes: Styling an Entire App or Activity
- Applying Application-wide Theme: The <application> Tag
- Customizing the Theme: Creating a Grey Color ActionBar
- Applying an Activity-wide Theme: Using <activity> Tags
- Android Digital Image Formats: PNG8, PNG24, PNG32, JPEG, GIF, WebP
- Digital Image Color Values: Color Theory and Color Depth
- Image Compositing: Alpha Channels and Blending Modes
- Represent Color or Alpha in Code: Hexadecimal Notation
- Digital Image and UI Masking: Alpha Channel UI Compositing
- Achieving Smooth Edges in a Design: Using Anti-Aliasing
- Digital Image Optimization: Compression and Dithering
- Creating Our World Clock Image Asset: GIMP Compositing
- Creating Our Golden Hoop Clock: Shifting the Hue in GIMP
- Implementing AnalogClock UI in Java Code: Finishing Up!
- Screen Size Resource Qualifiers: An AnalogClock in Space
- Summary
-
Chapter 7: Android UI Design Considerations: Styles, Screen Density Targets and New Media Formats
-
Part 4: Basic Android UI Design: Basic Layout Containers: FrameLayout, LinearLayout, RelativeLayout and GridLayout
- Chapter 11: Android’s FrameLayout Class: Using Digital Video in Your UI Design
- Chapter 12: Android’s LinearLayout Class: Horizontal and Vertical UI Design
- Chapter 13: Android’s RelativeLayout Class: UI Design Using One Layout Container
- Chapter 14: Android’s GridLayout Class: UI Design Using a Grid-based Layout
-
Part 5: Advanced Android UI Design: Advanced Layout Containers: DrawerLayout, SlidingPane, ViewPager, PagerTitleStrip and PagerTabStrip
- Chapter 15: Android’s DrawerLayout Class: Using a UI Drawer in Your UI Design
- Chapter 16: Android’s SlidingPaneLayout Class: Using SlidingPanes in Your UI Design
-
Chapter 17: Android’s ViewPager Class: Using ViewPager to Navigate Horizontally
- The ViewPager Class: Horizontal Sliding Screen UI Design
- Define a ViewPaging Layout: Coding Multi-Pane UIs in XML
- Add a ViewPagingActivity Class to Your MainActivity Menu
- Finish Defining Planet UI Pane: Adding Four ImageButtons
- Create a ViewPagingActivity Class to Swipe Space Images
- Adding ViewPagerAdapter Class to the ViewPagingActivity
- Testing Your Galaxy Digital Image Asset Paging UI Interface
- Summary
- Chapter 18: Android’s PagerTitleStrip and PagerTabStrip: ViewPager Navigation UI
- Index
Product information
- Title: Pro Android UI
- Author(s):
- Release date: February 2014
- Publisher(s): Apress
- ISBN: 9781430249863
You might also like
book
Smashing Android UI
Designers and developers, create smashing apps for Android devices If you're developing applications for Android smartphones …
book
Pro Android Graphics
Pro Android Graphics is a comprehensive goldmine of knowledge and techniques that will help you design, …
book
Android UI Fundamentals: Develop and Design
Author Jason Ostrander walks developers through the different choices available on their way to creating a …
video
Learning Android
Ready to launch your dream app on Android? In this video course, Java consultant Ken Kousen …