@Override public void onNestedScroll(@NonNull CoordinatorLayout coordinatorLayout, @NonNull View child, @NonNull View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int type) { super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, type); if (dyConsumed > 0) { // User scrolled down -> hide the FAB List<View> dependencies = coordinatorLayout.getDependencies(child); for (View view : dependencies) { if (view instanceof FloatingActionButton) { ((FloatingActionButton) view).hide(); } } } else if (dyConsumed < 0) { // User scrolled up -> show the FAB List<View> dependencies = coordinatorLayout.getDependencies(child); for (View view : dependencies) { if (view instanceof FloatingActionButton && !HIDDEN.equals(view.getTag())) { ((FloatingActionButton) view).show(); } } } } }
public static void toggleFab(FloatingActionButton fab, boolean visible) { if (visible) { fab.setTag(null); fab.show(); } else { fab.setTag(FabAwareScrollBehavior.HIDDEN); fab.hide(); } }
@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); 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(); } } }
@Override public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { if (dy > SCROLL_THRESHOLD) { floatingActionButton.hide(); } else if (dy < -SCROLL_THRESHOLD) { floatingActionButton.show(); } }
@Override public void onScrollChanged(int l, int t, int oldl, int oldt) { if (t - oldt > SCROLL_THRESHOLD) { floatingActionButton.hide(); } else if (t - oldt < -SCROLL_THRESHOLD) { floatingActionButton.show(); } }
@Override public void showCheckInButton(boolean show) { if (show) { mFabCheckIn.show(); } else { mFabCheckIn.hide(); } }
@Override public void onPageSelected(int position) { Fragment fragment = getSupportFragmentManager().findFragmentByTag("android:switcher:" + viewPager.getId() + ":" + fragmentPagerAdapter.getItemId(position)); if (fragment instanceof FloatingActionButtonFragment) { ((FloatingActionButtonFragment) fragment).setupFloatingActionButton(floatingActionButton); floatingActionButton.show(); } else { floatingActionButton.hide(); } } };
@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); if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) { child.hide(); } else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) { child.show(); } } }
@Override public void onClick(View view) { if (!mFloatingToolbar.isShowing()) { mFab.hide(); mFloatingToolbar.attachAppBarLayout(mAppBar); mFloatingToolbar.attachFab(mFabAppBar); mFloatingToolbar.show(); mShowingFromAppBar = true; } } });
@Override public void hideFab() { floatingActionButton.hide(); fabIsHidden = true; }
public void hideFloatingBar() { if (mFab != null) { mFab.hide(); } }
public void restoreState(Bundle state) { String description = state.getString(KEY_SAVED_DESCRIPTION); String quantity = state.getString(KEY_SAVED_QUANTITY); Mode mode = (Mode) state.getSerializable(KEY_SAVED_MODE); if (state.getBoolean(KEY_SAVE_IS_VISIBLE)) { prepare(mode, description, quantity); layout.setVisibility(View.VISIBLE); fab.hide(); } }
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { //noinspection ConstantConditions if (LocalPluginRegistry.getInstance().condition().getEnabledPlugins(getContext()).size() == 0) { FloatingActionButton fab = view.findViewById(R.id.fab); fab.hide(); } } }
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { //TODO: Check remote plugins also //noinspection ConstantConditions if (LocalPluginRegistry.getInstance().operation().getEnabledPlugins(getContext()).size() == 0) { FloatingActionButton fab = view.findViewById(R.id.fab); fab.hide(); } } }
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { //noinspection ConstantConditions if (LocalPluginRegistry.getInstance().event().getEnabledPlugins(getContext()).size() == 0) { FloatingActionButton fab = view.findViewById(R.id.fab); fab.hide(); } } }
public void hide() { if (!ViewCompat.isAttachedToWindow(this)) return; if (isMenuOpen()) { closeMenu(); } fab.hide(); }
@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); Log.i(TAG, "onNestedScroll: " + dyConsumed + " : " + dyUnconsumed); if ((dyConsumed > 0) && child.isShown()) child.hide(); else if ((dyConsumed < 0 || dyUnconsumed > 0) && !child.isShown()) child.show(); } }
@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); if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) { //系统FAB控件提供的隐藏动画 child.hide(); } else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) { //系统FAB控件提供的显示动画 child.show(); } } }
@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); if ((dyConsumed > 0) && (child.getVisibility() == View.VISIBLE)) { child.hide(); } else if ((dyConsumed < 0) && (child.getVisibility() != View.VISIBLE)) { child.show(); } }
@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); if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) { child.hide(); } else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) { child.show(); } }