Finally, I find this solution and want to share with you.
You can enable / disable the behavior of FloatingActionButton
Disable behavior
FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2); CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) fab2.getLayoutParams(); params.setBehavior(null); fab2.requestLayout(); fab2.setVisibility(View.GONE);
Enable behavior
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) fab2.getLayoutParams(); params.setBehavior(new QuickReturnFooterBehavior()); fab2.requestLayout(); fab2.setVisibility(View.VISIBLE);
Edited: more reusable class
public class CoordinateBehaviourUtils { public static void enableDisableViewBehaviour(View view,CoordinatorLayout.Behavior<View> behavior,boolean enable){ CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view.getLayoutParams(); params.setBehavior(behavior); view.requestLayout(); view.setVisibility((enable ? View.VISIBLE: View.GONE)); } }
How to enable the use of a common class
FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2); CoordinateBehaviourUtils.enableDisableViewBehaviour(fab2,new QuickReturnFooterBehavior(),true);
How to disable the use of a common class
FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2); CoordinateBehaviourUtils.enableDisableViewBehaviour(fab2,null,false);
Hope it solves your problem :)
Munish Kapoor
source share