如何使FloatingActionButton可拖动?

问题描述

晶圆厂隐藏了我一些应用程序的内容,并且被拖拉了。我已经在fab上实现了OnDragListener方法,但是在activity_list中似乎什么也没发生。

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);

    fab =  findViewById(R.id.fab);
    fab.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            createPopDialog();

        }
    });

    fab.setonDragListener(new View.OnDragListener() {
        @Override
        public boolean onDrag(View v,DragEvent event) {
            switch (event.getAction()) {
                case DragEvent.ACTION_DRAG_LOCATION:
                    dX = event.getX();
                    dY = event.getY();
                    break;
                case DragEvent.ACTION_DRAG_ENDED:
                    fab.setX(dX-fab.getWidth()/2);
                    fab.setY(dY-fab.getHeight()/2);
                    break;
            }
            return true;
        }
    });



}

解决方法

尝试包装floaingActionButton并覆盖onTouch方法。