Android Collapsing Toolbar Tutorial
Google has developed new Material Design to improve better UI/UX in android application. The action bar was deprecated because it has many limitation in the android activity. So, it come out with toolbar which provide many extra features to replace old action bar. Android Collapsing Toolbar is a kind of scroll-able toolbar with image, it is very nice to show a image inside a toolbar to indicate a message in the activity. In this tutorial, I will give you some tips on doing collapsing toolbar in the android application so you will get use on it in the future.
Creating a New Project
1. Open Android Studio IDE in your computer.
2. Create a new project and Edit the Application name to “CollapsingToolbarExample”.
(Optional) You can edit the company domain or select the suitable location for current project tutorial. Then click next button to proceed.
3. Select Minimum SDK (API 15:Android 4.0.3 (IceCreamSandwich). I choose the API 15 because many android devices currently are support more than API 15. Click Next button.
4. Choose “Empty Activity” and Click Next button
5. Lastly, press finish button.
Add new Dependency
Go to build.gradle (module: app) and add the following dependency in your dependencies section.
compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1'
Edit activity_main.xml layout
After that, go to your activity_main.xml and edit to the following source code. I add collapsingtoolbar layout and put imageview and toolbar inside to make collapsing effect on the toolbar. You can see the effect after you run it.
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary"> <ImageView android:id="@+id/expandedImage" android:layout_width="match_parent" android:layout_height="200dp" android:src="@mipmap/ic_launcher" android:scaleType="centerCrop" app:layout_collapseMode="parallax" app:layout_collapseParallaxMultiplier="0.7" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" app:layout_scrollFlags="scroll|enterAlways" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" > </android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout>
Edit MainActivity.java class
In your mainactivity.java add the toolbar and set the toolbar in your activity so you can see the toolbar appear in your android activity. You can following the source code below.
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); } }
Run your project
Now, you can try and run it in your android device to see the collapse effect on the toolbar. You can try to scroll down and up in the activity.