android faire glisser et déposer des ImageView onTouchListener
Bonjour
j'ai mis en place un onTouchListener dans mon application pour une ImageView, mon objectif était d'avoir une ImageView que l'utilisateur sera en mesure de faire glisser autour et à l'endroit où ils le veulent, à l'intérieur de l'application.
J'ai écrit un code utilisant les exemples de code trouvé sur le web une onTouchListener que je pense pourrait fonctionner, mais je vais avoir quelques problèmes avec elle, plutôt que de me permettre de faire glisser l'image autour, l'image est redimensionnée et est plus grand ou plus petit lorsque vous faites glisser votre doigt dessus.
Quelqu'un a une idée pourquoi?
Voici mon code:
ImageView t1img;
t1img = (ImageView) findViewById(R.id.imgT1);
windowWidth = getWindowManager().getDefaultDisplay().getWidth();
windowHeight = getWindowManager().getDefaultDisplay().getHeight();
t1img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
layoutParams = (LayoutParams) t1img.getLayoutParams();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
int xCoord = (int) event.getRawX();
int yCoord = (int) event.getRawY();
if (xCoord > windowWidth) {
xCoord = windowWidth;
}
if (yCoord > windowHeight) {
yCoord = windowHeight;
}
layoutParams.leftMargin = xCoord - 25;
layoutParams.topMargin = yCoord - 75;
t1img.setLayoutParams(layoutParams);
break;
default:
break;
}
return true;
}
});
avez-vous besoin de soutien gingerbrad ( <= API 9 - 2.3.x ) ?
Qui gingerbrad? :p
developer.android.com/about/versions/...
Qui gingerbrad? :p
developer.android.com/about/versions/...
OriginalL'auteur Paul Alexander | 2014-07-31
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin de soutien pain d'épices, vous pouvez prendre un coup d'oeil à mon exemple ici
https://github.com/NAYOSO/android-dragview
si vous avez seulement besoin de soutien jelly bean-dessus, vous pouvez utiliser le Glisser-Déposer à partir d'android bibliothèque, vous pouvez le voir à partir de cet article
http://developer.android.com/guide/topics/ui/drag-drop.html
Pour quelques explications sur le Glisser-Déposer vue
au premier abord, vous avez besoin de t de créer le contact auditeur et ensuite appeler la méthode startDrag pour démarrer en la faisant glisser. Aussi simple que cela.
Pour surveiller la cible de l'abandon de la place vous pouvez utiliser onDragListener
Comme vous pouvez le voir dans mon code, il existe de nombreux cas, mais le principal est quand la vue est de commencer à glissé, est tombé et s'est terminée.
N'oubliez pas de mettre à l'auditeur de vue
J'espère que mon explication est assez claire!
Si vous avez d'autres question, je vais essayer d'y répondre ce soir ou demain 🙂
OK attends je vais poster un peu de code 🙂
Merci, très utile
vérifiez de nouveau l'homme 🙂
génial, je vais faire un essai maintenant!
OriginalL'auteur Niko Adrianus Yuwono
J'ai fait un exemple d'utilisation de thread. Vous pouvez essayer cet exemple pour un douceur de glisser-déposer d'une image bitmap en utilisant l'écran tactile écouteur d'Événement
Télécharger la Démo ou le Code
J'ai créé trois classes
MainActivity.Java
Instatiates notre BallView classe et Ajoute setContentView à la BallView Classe comme indiqué ci-dessous
Notre BallView étend le surfaceView classe et met en œuvre la surface titulaire comme indiqué ci-dessous. Aussi, contient la méthode draw pour dessiner la toile et touchEvent auditeur pour obtenir la position de l'image Bitmap à déplacer et déplacer le long de l'établi de l'image Bitmap chemin.
et enfin
MainThread classe
appelez la méthode onDraw si elle est en cours d'exécution comme indiqué ci-dessous
Télécharger le code ici
OriginalL'auteur Daniel Nyamasyo