package com.sinata.xqmuse.utils;
|
|
import android.util.Log;
|
|
import com.google.android.material.appbar.AppBarLayout;
|
|
/**
|
* ZhongTian
|
* Created by hds with AndroidStudio
|
* Contact me by SCKJ Co.,Ltd
|
* 2020-01-06 14:56 Monday
|
* Description:AppBarStateChangeListener
|
*/
|
public abstract class AppBarStateChangeListener implements AppBarLayout.OnOffsetChangedListener {
|
|
public enum State {
|
EXPANDED,
|
COLLAPSED,
|
IDLE
|
}
|
|
|
@Override
|
public final void onOffsetChanged(AppBarLayout appBarLayout, int i) {
|
int totalScrollRange = appBarLayout.getTotalScrollRange();
|
Log.e("mmp","总位移:"+totalScrollRange+",当前位移:"+i);
|
double ratio = Math.abs(((double)i) / totalScrollRange);
|
if (ratio > 0.6) {
|
onStateChanged(appBarLayout, State.COLLAPSED,ratio);
|
} else {
|
onStateChanged(appBarLayout, State.EXPANDED,ratio);
|
}
|
}
|
|
public abstract void onStateChanged(AppBarLayout appBarLayout, State state,double ratio);
|
}
|