--ADVERTISEMENT--

Android Simple Transparent Delegate Toolbar Example

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

  • ITransparentDelegate
  • TransparentDelegate

Implementing View

  • TransparentFrameLayout
  • TransparentLinearLayout
  • TransparentRelativeLayout
  • TransparentToolBar

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...
 }

Download From GitHub


Download complete project source code from GitHub

Post a Comment

Powered by Blogger.