Comment déplacer en douceur une image avec un doigt d'utilisateur sur l'émulateur Android
Chaque chose est bien dans la première fois quand je bouge ImageView
sur l'écran, mais dans deuxième temps ImageView
ne pas se déplacer correctement.
C'est ce que j'ai fait jusqu'à présent.
img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//TODO Auto-generated method stub
int eid = event.getAction();
switch (eid) {
case MotionEvent.ACTION_MOVE:
FrameLayout.LayoutParams mParams = (FrameLayout.LayoutParams) img.getLayoutParams();
int x = (int) event.getRawX();
int y = (int) event.getRawY();
mParams.leftMargin = x-50;
mParams.topMargin = y-50;
img.setLayoutParams(mParams);
break;
case MotionEvent.ACTION_DOWN:
x1=img.getX();
y1=img.getY();
break;
case MotionEvent.ACTION_UP:
img.setX(x1);
img.setY(y1);
break;
default:
break;
}
return true;
}
});
source d'informationauteur user2380151
Vous devez vous connecter pour publier un commentaire.
Suivant est le cas ce que je pense que cela pourrait fonctionner.
J'ai vu que vous utilisez
img.getX()
img.getY()
donc je suppose que vous êtes à l'aide de l'API de Niveau 11 ou plus.
Et je suppose que votre
img
est l'instance deImageView
.( L'utilisation de
FrameLayout.LayoutParams
pour ImageView est bizarre... )Les suivants est comment le faire correctement:
========================================================================
========================== [2013/05/15 Ajouté ] =============================
========================================================================
Le nouvel objet présenté ici est
PointF
.Veuillez utiliser le code suivant pour importer
PointF
objet :Et en fait, c'est juste un objet pour l'enregistrement et float float x y.
Si vraiment vous ne pouvez pas importer de cet objet, écrivez-en un vous-même comme suit :
Ce code vous aide à faire glisser l'imageview dans le boundry de l'écran. Espérons que cela aidera.
Ici mViewGroup est le ViewGroup Exemple de rapport de mise en page que les limites de l'ImageView
Aussi, imgposx, imgposy mondial grandeur