Transparent-Delegate-Toolbar
A simple transparent toolbar for Android.
Transparent-Delegate-Toolbar use Delegate finish scroll change color to alpha.
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...
}