Material Design Breadcrumbs Navigation Widget on Android (SDK 19+, Maybe can be lower

BreadcrumbsView-1

How to use

Import (Gradle)

First, add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Add the dependency to your app modules:

dependencies {
    compile 'moe.feng:BreadcrumbsView:latest-version'
}

XML

Place a BreadcrumbsView to where you want in your layout xml.

For example:

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

	<android.support.v7.widget.Toolbar.../>

	<moe.feng.common.view.breadcrumbs.BreadcrumbsView
		android:id="@+id/breadcrumbs_view"
		android:layout_width="match_parent"
		android:layout_height="?attr/actionBarSize"
		app:popupTheme="@style/AppTheme.PopupOverlay"/>

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

Add/Remove BreadcrumbItem

When your interface navigates to next step, create a new BreadcrumbItem and add it to BreadcrumbsView. (After 0.2.0, you can implement your own IBreadcrumbItem to use.)

Use removeItemAfter(int) or removeLastItem to remove items or last item.

Listen events

You can set a callback for BreadcrumbsView to receive item click/changed events.

To simplify events, I recommend to use DefaultBreadcrumbsCallback :

new DefaultBreadcrumbsCallback<BreadcrumbItem>() {
	@Override
	public void onNavigateBack(BreadcrumbItem item, int position) {
		// ...
	}

	@Override
	public void onNavigateNewLocation(BreadcrumbItem newItem, int changedPosition) {
		// ...
	}
}

GitHub