试试把int dx int dy 变成成员变量。 现在是局部变量。
解决方案 »
- 安卓手机使用家用路器VLAN的头痛问题
- Android下怎么诊断/防止程序的内存泄漏/内存碎片,大家有没什么好方法
- Android当中可以用request和response吗?
- android 横屏后如何确保数据不丢失。
- xml中的引用
- 如何获得并配对连接在同一Wifi网段上的其他手机
- IOS和ANDROID哪个有开发前途?
- 怎么让一个android APK安装之后无法卸载?
- webView.loadDataWithBaseURL()加载的html不显示图片
- 求救,我的android studio为什么出这种错,求求大神如何解决?
- apk里要调用新浪微博客户端,请问包名和入口activity名是什么
- 应用程序跟DB文件一起打包失败,内详,求教
case MotionEvent.ACTION_MOVE:
int dx = (int)event.getRawX() - lastX;
int dy = (int)event.getRawY() - lastY;
popup.update(dx, -dy, -1, -1);这地方应该为负的,不然上下移动刚好颠倒,不知道为什么
lastX = (int) event.getX();
lastY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
dx = (int) event.getX() - lastX;
dy = (int) event.getY() - lastY;
mScreenX += dx;
mScreenY += dy ;
pop_main.update(mScreenX, mScreenY, -1, -1);
break;
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
case MotionEvent.ACTION_UP:
mScreenX += dx;
mScreenY += dy;
break;
case MotionEvent.ACTION_MOVE:
dx = (int) event.getRawX() - lastX + mScreenX;
dy = lastY - (int)event.getRawY() + mScreenY;
System.out.println("X2 = "+ dx+", Y2 = "+ dy);
pop_quality.update( dx,dy, -1, -1);
break;
}
return true;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
case MotionEvent.ACTION_UP:
mScreenX = dx;
mScreenY = dy;
break;
case MotionEvent.ACTION_MOVE:
dx = (int) event.getRawX() - lastX + mScreenX;
dy = lastY - (int)event.getRawY() + mScreenY;
pop_quality.update( dx,dy, -1, -1);
break;
}
return true;
}
其中mScreenX 和mScreenY 的初始值设为0,并 设置为全局变量