Skip to content

Instantly share code, notes, and snippets.

@nikartm
Last active May 12, 2019 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikartm/c2dffb3dd0ddb574e80fdbd4fee399ec to your computer and use it in GitHub Desktop.
Save nikartm/c2dffb3dd0ddb574e80fdbd4fee399ec to your computer and use it in GitHub Desktop.
FooterBarBehavior
import android.content.Context;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CoordinatorLayout;
import android.util.AttributeSet;
import android.view.View;
/**
* @author Ivan V on 06.03.2018.
* @version 1.0
*/
public class FooterBarBehavior extends CoordinatorLayout.Behavior<FooterBarLayout> {
//Required to instantiate as a default behavior
public FooterBarBehavior() {
}
//Required to attach behavior via XML
public FooterBarBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
//This is called to determine which views this behavior depends on
@Override
public boolean layoutDependsOn(CoordinatorLayout parent,
FooterBarLayout child,
View dependency) {
//We are watching changes in the AppBarLayout
return dependency instanceof AppBarLayout;
}
//This is called for each change to a dependent view
@Override
public boolean onDependentViewChanged(CoordinatorLayout parent,
FooterBarLayout child,
View dependency) {
int offset = -dependency.getTop();
child.setTranslationY(offset);
return true;
}
}
@nikartm
Copy link
Author

nikartm commented Mar 6, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment