Mastering Android CollapsingToolbarLayout: An Example Project

Explore the fascinating world of Android CollapsingToolbarLayout in our latest blog post! Learn how to integrate this elegant layout feature into your app and enhance the user experience. Dive into practical examples, code snippets, and a step-by-step guide for smooth implementation.

Android CollapsingToolbarLayout

Android CollapsingToolbarLayout is a wrapper for the Toolbar that implements a collapsible app bar. It is designed to be used as a direct child of an AppBarLayout. This layout type is commonly seen in the profile screen of the WhatsApp application. This layout consists of:

  • Collapsible Title: The title is larger when the layout is expanded. The text size decreases when the layout is collapsed and scrolled off the screen.
  • app:layout_scrollFlags: The scrolling attributes of this layout are typically set to “scroll|exitUntilCollapsed.”
  • app:collapsedTitleGravity: Specifies the alignment of the title within the container when it is collapsed.
  • app:contentScrim: This requires specifying a string or color value of the content of the CollapsingToolbarLayout when it has been scrolled sufficiently away from the screen, e.g., ?attr/colorPrimary.
  • app:scrimAnimationDuration: Specifies the duration used for the visibility animations of the overlays. This requires an integer value like “100.”

If you have recently updated to the latest SDK, select the “Scrolling Activity” type (it contains a pre-built implementation of CollapsingToolbarLayout) when creating a new project.

Run the default new project to get output like this: In this tutorial, we will make modifications to the default project, such as displaying an ImageView, showing the toolbar-equivalent icon from the FAB button when collapsed.

Android CollapsingToolbarLayout Example Project Structure

Android CollapsingToolbarLayout Code

The activity_scrolling.xml looks like this:

 (activity_scrolling.xml)
// The XML code can be found here

The menu_scrolling.xml looks like this:

 (menu_scrolling.xml)
// The XML code can be found here

The code for ScrollingActivity.java is defined as follows:

 (ScrollingActivity.java)
// The Java code can be found here

In the above code, to determine whether the CollapsingToolbarLayout is collapsed or expanded, we add an addOnOffsetChangedListener listener to the AppBarLayout instance. Depending on the if-else conditions, we show or hide the toolbar info option. The application output in action is depicted below.

Conclusion

That concludes this tutorial. You can download the Android CollapsingToolbarLayout project via the link provided below.

Integrating the CollapsingToolbarLayout into your Android application and creating an elegant, collapsible app bar layout is as simple as that. Experiment with it and observe how it enhances the user experience!

We hope this tutorial has been helpful to you. If you have any questions or need assistance, feel free to leave a comment. Thank you for reading!

Create a Free Account

Register now and get access to our Cloud Services.

Posts you might be interested in: