Using Jetpack WindowManager
In the Understanding different form factors section, I introduced you to the WindowSizeClassDemo sample. The app evolved from always showing one layout (a vertically scrolling list) to utilizing an adaptive layout based on window size classes: depending on the width of the app window, either a list or a two- or three-column grid will be shown. This works great on smartphones and tablets. But how about foldable devices? Figure 11.6 shows the sample on an unfolded Microsoft Surface Duo.
Figure 11.6 – WindowSizeClassDemo running on an unfolded Surface Duo
Foldable devices feature a hinge or fold, which allows the user to switch between two display area sizes. Often, this means it is either smartphone-sized or tablet-sized. However, there are also products (so-called flip phones) that need to be unfolded to be fully operable. Their screen size resembles smartphones. Consequently, the presence of a hinge does not warrant a...