【发布时间】:2023-03-08 19:56:01
【问题描述】:
这是我的代码
public class MainActivity extends Activity {
int screenWidth;
int screenHeight;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
screenWidth = displaymetrics.widthPixels;
screenHeight = displaymetrics.heightPixels;
final ImageView img = (ImageView) findViewById(R.id.imageView1);
img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
LayoutParams layoutParams = (LayoutParams) img
.getLayoutParams();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
int x_cord = (int) event.getX();
int y_cord = (int) event.getY();
if (x_cord > screenWidth) {
x_cord = screenWidth;
}
if (y_cord > screenHeight) {
y_cord = screenHeight;
}
layoutParams.leftMargin = x_cord;
layoutParams.topMargin = y_cord;
img.setLayoutParams(layoutParams);
break;
default:
break;
}
return true;
}
});
}
}
但是当我运行我的应用程序并尝试拖放我的圆形图像时,圆形图像开始闪烁非常大,它不能正常拖动。这是演示这一点的视频。
https://www.youtube.com/watch?v=sGtza5HKMOI
请解释我做错了什么。
提前致谢。
【问题讨论】:
-
我想你会在这个问题上找到你要找的东西:stackoverflow.com/questions/8275239/…,这也涉及拖放和垂直问题。
-
并没有真正明白:\
标签: android drag-and-drop android-imageview