Я пытаюсь перетащить изображение вокруг экрана, но он оставляет следы размытия. Является ли само изображение причиной размытия? Я попробовал это на двух разных устройствах, и такая же проблема возникает.Перемещение изображения оставляет следы размытия
Каков правильный способ перемещения изображения?
Вот изображение, которое я использую http://i.imgur.com/w9xWz.png
package com.kylelk.movecursor;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class MainActivity extends Activity {
private void MoveImage(int x1, int y1) {
RelativeLayout rlMain = (RelativeLayout) findViewById(R.id.TouchArea);
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.cursor);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(x1, y1);
params.topMargin=50;
params.leftMargin=50;
rlMain.addView(iv, params);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final View touchView = findViewById(R.id.TouchArea);
touchView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
final int action = event.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
Integer X = (int) event.getX();
Integer Y = (int) event.getY();
MoveImage(X, Y);
break;
}
case MotionEvent.ACTION_MOVE:{
Integer X = (int) event.getX();
Integer Y = (int) event.getY();
MoveImage(X, Y);
break;
}
}
return true;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Вот это изображение проблемы
Хотя я не уверен в размытии, создавая новый объект ImageView и RelativeLayout КАЖДЫЙ раз, когда вы вызываете MoveImage, не будет иметь большой производительности. –