タッチドラッグ時にPopupWindowを動かしたいと思っています。 タッチのリリース時にUIを更新したくありません。私はPopupWindowが私のタッチに従ってほしい。Android:ドラッグ(移動)する方法PopupWindow?
これは私がやっているものを何かである:私はポップアップウィンドウをドラッグすると、それは元の場所に前後に点滅し、どこ私の指があり、されてはどうなり
mView = mLayoutInflater.inflate(R.layout.popup,
null);
mPopupWindow = new PopupWindow(mView,
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, false);
mPopupWindow.showAtLocation(parentView, Gravity.CENTER, -5, 30);
mView.setOnTouchListener(new OnTouchListener() {
private int dx = 0;
private int dy = 0;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
dx = (int) motionEvent.getX();
dy = (int) motionEvent.getY();
break;
case MotionEvent.ACTION_MOVE:
int x = (int) motionEvent.getX();
int y = (int) motionEvent.getY();
int left = (x - dx);
int top = (y - dy);
Log.d("test", "x: " + left + " y: " + top);
mPopupWindow.update(left, top, -1, -1);
break;
}
return true;
}
});
。
ちらつきLogcat結果:
x: -44 y: 4
x: -43 y: 37
x: -46 y: 4
x: -46 y: 38
x: -48 y: 4
x: -47 y: 38
x: -50 y: 4
しかし、私は(コメントアウト)削除した場合、 "mPopupWindow.update(左、上、-1、-1);"、それは正しい結果を返します。 (しかし、明らかにUIが更新されません):私が正しくPopupWindowを移動する方法
x: -33 y: 0
x: -37 y: 0
x: -41 y: 0
x: -43 y: 3
x: -46 y: 3
x: -50 y: 3
x: -54 y: 4
x: -57 y: 4
?