How to enable/disable FloatingActionButton Behavior

前端 未结 3 1172
自闭症患者
自闭症患者 2021-01-02 05:05

I am working on app in some fragment i want to hide FloatingActionButtton. When i set android:visibility=\"gone\". Behavior animation show me FloatingAction

3条回答
  •  鱼传尺愫
    2021-01-02 05:56

    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 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 :)

提交回复
热议问题