Book Image

Creating Dynamic UIs with Android Fragments - Second Edition

By : Jim Wilson
Book Image

Creating Dynamic UIs with Android Fragments - Second Edition

By: Jim Wilson

Overview of this book

Today’s users expect mobile apps to be dynamic and highly interactive, with rich navigation features. These same apps must look fantastic whether running on a medium-resolution smartphone or high-resolution tablet. Fragments provide the toolset we need to meet these user expectations by enabling us to build our applications out of adaptable components that take advantage of the rich capabilities of each individual device and automatically adapt to their differences. This book looks at the impact fragments have on Android UI design and their role in both simplifying many common UI challenges and in providing best practices for incorporating rich UI behaviors. We look closely at the roll of fragment transactions and how to work with the Android back stack. Leveraging this understanding, we explore several specialized fragment-related classes such as ListFragment and DialogFragment. We then go on to discuss how to implement rich navigation features such as swipe-based screen browsing, and the role of fragments when developing applications that take advantage of the latest aspects of Material Design. You will learn everything you need to provide dynamic, multi-screen UIs within a single activity, and the rich UI features demanded by today’s mobile users.
Table of Contents (13 chapters)

Dynamically managing fragments

The process of dynamically managing fragments commonly involves multiple steps. The steps may be as simple as removing one fragment and adding another, or they may be more complex, involving the removal and addition of multiple fragments. In any case, we need to be certain that all dynamic changes to the fragments within an activity that constitute a shift from one application screen to the next occur together as a single unit of work. Android does this by grouping the steps into transactions using the FragmentTransaction class.

Conceptually, the FragmentTransaction class behaves in a manner consistent with other transaction models:

  1. Start the transaction.

  2. Identify the desired changes.

  3. Commit the transaction once all changes within this unit of work are identified.

When we're ready to make changes, we will start a new FragmentTransaction instance by calling the beginTransaction method on the activity's FragmentManager instance, which returns a reference to the FragmentTransaction...