Collapsing Avatar Toolbar

This little library demonstrates how to add a Collapsible Toolbar to your application with an avatar that moves and expands as seen in the Telegram Android application.

This library consist in one single view, and uses the Design Support Library.

Demo

Check out the sample proyect included.

sample

Gradle

dependencies {
    compile 'com.sloydev:collapsingavatartoolbar:1.0.0'
}

Usage

Add com.sloydev.collapsingavatartoolbar.CollapsingAvatarToolbar to your layout:

<com.sloydev.collapsingavatartoolbar.CollapsingAvatarToolbar
  android:layout_width="wrap_content"
  android:layout_height="?attr/actionBarSize"
  app:collapsedPadding="@dimen/collapsedPadding"
  app:expandedPadding="@dimen/expandedPadding"
  app:collapsedImageSize="@dimen/collapsedImageSize"
  app:expandedImageSize="@dimen/expandedImageSize"
  app:collapsedTextSize="@dimen/collapsedTextSize"
  app:expandedTextSize="@dimen/expandedTextSize"
  >

It must be placed inside a CollapsingToolbarLayout with a sibling Toolbar, like this:

<android.support.design.widget.CoordinatorLayout
  ...
  >

    <android.support.design.widget.AppBarLayout
      ...
      android:layout_height="@dimen/expanded_toolbar_height"
      >

        <android.support.design.widget.CollapsingToolbarLayout
          ...
          app:contentScrim="?attr/colorPrimary"
          app:layout_scrollFlags="scroll|exitUntilCollapsed"
          >

            <android.support.v7.widget.Toolbar
              ...
              app:layout_collapseMode="pin"
              />

            <com.sloydev.collapsingavatartoolbar.CollapsingAvatarToolbar
              ...
              >

                <de.hdodenhof.circleimageview.CircleImageView
                  android:id="@id/cat_avatar"
                  ...
                  />

                <TextView 
                  android:id="@id/cat_title"
                  ...
                  />

            </com.sloydev.collapsingavatartoolbar.CollapsingAvatarToolbar>

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <!-- The rest of your activity layout -->
    ...

</android.support.design.widget.CoordinatorLayout>

Important points

Contribute

Improvements are most than welcome. Feel free to send a Pull Request or open an Issue.

I am pretty bad at explaining myself. Check out the sample project for implementation details or ask me anything you need to know.

External libraries