一個可以跟隨手指移動的PopupWindow
阿新 • • 發佈:2019-01-01
閒來無事寫了一個可以移動的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;
}
});