一个可以跟随手指移动的PopupWindow

Posted Gradle官方文件

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个可以跟随手指移动的PopupWindow相关的知识,希望对你有一定的参考价值。

闲来无事写了一个可以移动的Popupwindow记录一下

        //整体展示popupwindow后 加上这个监听就可以了
        //遇到的坑就是如果界面中存在ViewPager轮播,轮播后popupwindow会回到原来的位置,暂时解决方法:在MotionEvent.ACTION_MOVE:中停止轮播,当PopupWindow隐藏后再重新开始轮播
        //********************注意是popupview设置监听************************
        //********************其实我尝试了下用popupwindow中的某个控件也是可以的************************
        popupView.setOnTouchListener(new View.OnTouchListener() 
            int orgX, orgY;
            int offsetX,offsetY;
            @Override
            public boolean onTouch(View v, MotionEvent event) 
                switch (event.getAction()) 
                    case MotionEvent.ACTION_DOWN:
                        orgX = (int) event.getX();
                        orgY = (int) event.getY();
                        break;
                    case MotionEvent.ACTION_MOVE:
                        offsetX = (int) event.getRawX() - orgX;
                        offsetY = (int) event.getRawY() - orgY;
                        mPopupWindow.update(0, offsetY, -1, -1, true);
                        break;
                    case MotionEvent.ACTION_UP:
                        break;
                
                return true;
            
        );

以上是关于一个可以跟随手指移动的PopupWindow的主要内容,如果未能解决你的问题,请参考以下文章

1 跟随手指移动的球

控件跟随手指移动(心得)

用户如何在触摸时也能画出线条跟随手指?Android 开发

用 SKPhysics(碰撞)拖动一个 SKSpriteNode(跟随你的手指动作)

swift : UIView 的平滑翻译与 iOS 控制面板完全一样(跟随用户手指,使用平移)

Android 中 View移动总结:ViewDragHelper学习及用法详解