FloatingActionButton behaviorが機能しない問題
先日、FABに設置されたlayout_という特別な穴比の問題に遭遇しました.behaviorは一度しかアニメ効果が出ないので、后期はいくらスライドしても効かない!!!
長い間廃棄して、やっと問題の解決方法を見つけましたが、実はGoogle自身の問題で、後で修復するはずです.ここで私がbehaviorのアニメーションが一度しか現れない理由をどのように解決するかを説明します(つまり、この2つの方法の呼び出し回数は1回しかなく、後でどのようにデバッグしても現れたり隠れたりしません)!
ソリューション
私は25以上に依存していましたが、25.2.2の時にこのバグが発生しました.私は25.00に修正すればいいのですが、私はやはり保険のために24.2.1を使っています.後期にはこのバグが修復されるはずですが、もしあなたが今この問題に遭遇したら、このように解決しましょう.
たくさんの時間を節約してあげたいです.
長い間廃棄して、やっと問題の解決方法を見つけましたが、実はGoogle自身の問題で、後で修復するはずです.ここで私がbehaviorのアニメーションが一度しか現れない理由をどのように解決するかを説明します(つまり、この2つの方法の呼び出し回数は1回しかなく、後でどのようにデバッグしても現れたり隠れたりしません)!
@Override
public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
final View directTargetChild, final View target, final int nestedScrollAxes) {
// Ensure we react to vertical scrolling
// LogUtils.logd("------" + String.valueOf(nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL
// || super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes)));
return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL
|| super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes);
}
@Override
public void onNestedScroll(CoordinatorLayout coordinatorLayout, FloatingActionButton child,
View target, int dxConsumed, int dyConsumed, int dxUnconsumed,
int dyUnconsumed) {
super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);
// LogUtils.logd("FAB" + "" + dyConsumed + "-----" + dyUnconsumed + "-----" + child.getVisibility());
//
if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) {
child.hide();
RxBus.getInstance().post(AppConstant.MENU_SHOW_HIDE, false);
//
} else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) {
RxBus.getInstance().post(AppConstant.MENU_SHOW_HIDE, true);
child.show();
}
}
ソリューション
compile 'com.android.support:design:24.2.1'
私は25以上に依存していましたが、25.2.2の時にこのバグが発生しました.私は25.00に修正すればいいのですが、私はやはり保険のために24.2.1を使っています.後期にはこのバグが修復されるはずですが、もしあなたが今この問題に遭遇したら、このように解決しましょう.
たくさんの時間を節約してあげたいです.