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)

Creating an adaptive application layout

Let's put our discussion of dynamic fragment management into practice by updating our application to work with just a single activity. This one activity will handle both scenarios: wide-display devices, where both fragments appear side-by-side, and portrait-oriented handsets, where the fragments appear as two separate screens. As a reminder, the application appears as shown in the following screenshot in each scenario:

In our application, we'll leave the wide-display aspect of the program alone because static layout management works fine here. Our work is on the portrait-oriented handset aspect of the application. For these devices, we'll update the application's main activity to dynamically switch between displaying the fragment containing the list of books and the fragment displaying the selected book description.

Updating the layout to support dynamic fragments

Before we write any code to dynamically manage the fragments within our application, we...