1. 程式人生 > >一個可以跟隨手指移動的PopupWindow

一個可以跟隨手指移動的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; } });