How to enable/disable FloatingActionButton Behavior

北城以北 提交于 2019-11-30 13:06:16

Finally I find it solution and I want to share with you.

You can enable/disable FloatingActionButton Behavior

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 Using Common Class

FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2);
CoordinateBehaviourUtils.enableDisableViewBehaviour(fab2,new QuickReturnFooterBehavior(),true);

How To Disable Using Common Class

FloatingActionButton fab2 = (FloatingActionButton)findViewById(R.id.fab2);
CoordinateBehaviourUtils.enableDisableViewBehaviour(fab2,null,false);

Hope it will solve your problem :)

There is no difference while setting up the visibility of a FAB, it works likely other controls.

0 is for VISIBLE
4 is for INVISIBLE
8 is for GONE

You can try something this;

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
// to make is disable for some requirement 
fab.setVisibility(View.GONE);
// to make it enable 
fab.setVisibility(View.VISIBLE);

In kotlin enable/disable is:

fab.isEnabled = true
fab.isEnabled = false
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!