Transparent-Delegate-Toolbar

A simple transparent toolbar for Android.

Transparent-Delegate-Toolbar use Delegate finish scroll change color to alpha.

toolbar

Gradle

Add it in your root build.gradle at the end of repositories:


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

Add the dependency:


	dependencies {
	        compile 'com.github.ruzhan123:Transparent-Delegate-Toolbar:v1.0'
	}

Usage


    <zhan.transparent.widget.TransparentFrameLayout
        android:id="@+id/tool_bar"
        android:layout_width="match_parent"
        android:layout_height="48dp">

    mTransparentFrameLayout.setColorToBackGround(getResources().getColor(R.color.colorPrimary));
    mTransparentFrameLayout.setMaxOffset(getResources().getDimension(R.dimen.offset));

    mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
      @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        mDy += dy;
        mTransparentFrameLayout.updateTop(mDy);
      }
    });

Delegate

Implementing View

Custom


	public class TransparentToolBar extends Toolbar implements ITransparentDelegate {
	
	private TransparentDelegate mTransparentDelegate;
	
	public TransparentToolBar(Context context) {
	super(context);
	init();
	}
	
	public TransparentToolBar(Context context, AttributeSet attrs) {
	super(context, attrs);
	init();
	}
	
	public TransparentToolBar(Context context, AttributeSet attrs, int defStyleAttr) {
	super(context, attrs, defStyleAttr);
	init();
	}
	
	private void init() {
	mTransparentDelegate = new TransparentDelegate(this);
	}
	
	@Override public void updateTop(float top) {
	mTransparentDelegate.updateTop(top);
	}
	
	@Override public void setMaxOffset(float offset) {
	mTransparentDelegate.setMaxOffset(offset);
	}
	
	@Override public void setColorToBackGround(int backGroundColor) {
	mTransparentDelegate.setColorToBackGround(backGroundColor);
	}

	...

expand


	public interface OnTransparentListener {
	  void onTransparentStart(float fraction);	//scroll to top, offset is 0
	
	  void onTransparentEnd(float fraction);	//scroll to max offset
	
	  void onTransparentUpdateFraction(float fraction);	//scrolling...
	}

GitHub