comment faites glisser un bouton onTouch événement dans android
Comment faites glisser un bouton sur l'événement tactile android avec les directions gauche,droite, haut,bas..?...Je suis nouveau sur android et souhaitez développer un rappel de l'application.S'il vous plaît aider en fournissant des liens
callbackButton.setOnTouchListener(new OnTouchListener() {
private float currX;
private float currY;
@Override
public boolean onTouch(View v, MotionEvent event) {
float x1 = 0, x2, y1 = 0, y2, dx, dy , oldx =0,oldy=0;
String direction;
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
oldx = event.getX();
oldy = event.getY();
break;
case MotionEvent.ACTION_MOVE:
x2 = event.getX();
y2 = event.getY();
dx = x2-x1;
dy = y2-y1;
//Use dx and dy to determine the direction
if(Math.abs(dx) > Math.abs(dy)) {
if(dx>0) {
direction = "right";
Log.e("right...","moving..");
}else{
direction = "left";
Log.e("left...","moving..");
}
} else {
if(dy>0) {
direction = "down";
Log.e("down...","moving..");
currX = event.getRawX();
currY = event.getRawY();
Log.e("x=", ""+(currX-oldx));
Log.e("y=", ""+(currY-oldy));
MarginLayoutParams marginParams = new MarginLayoutParams(v.getLayoutParams());
marginParams.setMargins((int)(currX-oldx), (int)(currY-oldy),0, 0);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
v.setLayoutParams(layoutParams);
} else {
direction = "up";
Log.e("up...","moving..");
}
}
}
return true;
}
});
C'est mon code pour imageButton de passer d'événement tactile. Mais ce code ne fonctionne pas comme je veux
ce sera utile vogella.com/articles/AndroidTouch/article.html
Veuillez préciser votre question. "Glissant" est un geste que les gens font avec leurs doigts sur un écran tactile.
vouliez-vous dire de déplacer bouton sur balayez?
Oui je veux déplacer bouton sur balayez vers la gauche et puis à droite
lisez à propos de GestureDetector
Veuillez préciser votre question. "Glissant" est un geste que les gens font avec leurs doigts sur un écran tactile.
vouliez-vous dire de déplacer bouton sur balayez?
Oui je veux déplacer bouton sur balayez vers la gauche et puis à droite
lisez à propos de GestureDetector
OriginalL'auteur XylemRaj | 2013-12-16
Vous devez vous connecter pour publier un commentaire.
Ici, vous trouverez une explication sur la façon de gérer les événements tactiles:
http://developer.android.com/guide/topics/ui/ui-events.html
Ensuite, dans la méthode, vous avez besoin de
Exemple (en utilisant le code de http://developer.android.com/training/graphics/opengl/touch.html)
Avec cette simple des cas, vous n'auriez même pas besoin de stor lorsque l'utilisateur met son doigt vers le bas ou vers le haut (depuis le déménagement implique un doigt vers le bas), mais il peut être utile d'avoir la valeur booléenne stockées)
Bonne chance avec votre application
EDIT:
Il semble que vous l'avez édité votre post avec un peu de code. Vous dites que vous n'obtenez pas la explected résultats, mais vous ne dites pas ce que vous obtenez. Cela peut être utile pour nous permettre de vous aider.
Vous devriez essayer de trouver si une bibliothèque qui détecte les mouvements de balayage existe déjà. Je suis assez sûr qu'il ya beaucoup là-bas
EDIT 2:
Je suppose que vous bouton est un simple pour android.Bouton. Une solution pourrait être de créer une classe qui étend la classe Bouton (ex: MySwipableButton). dans votre xml, vous créez une mise en page qui contient votre MySwipableButton, et de lui donner assez de place pour être déplacé (par exemple, il a largeur=fill_parent, puisque vous le voulez de glisser sur la tandis que l'écran). MySwipableButton implémente onTouch pour stocker la position où le bouton doit être (à l'aide de la méthode que vous avez déjà)
MySwipableButton serait également remplacer
onDraw(Graphics g)
. Dans onDraw, vous peindre le bouton (super.draw()) à l'endroit où il faut être (au sujet de l'actuel balayage) et de laisser le reste de la vue videOk, vous n'avez toujours pas me dire ce que vous en avez maintenant. est-ce que votre bouton déplacer, mais pas dans le sens que vous voulez, ou rien ne se passe? De toute façon, j'ai édité mon post avec une suggestion de mettre en œuvre un swipable bouton
OriginalL'auteur Basile Perrenoud
Vérifier mon blogspot, dans lequel j'ai montré le glisser-déposer l'image
onTouch
événement.Edit
: voici le code complet:Tout d'abord créer du projet android dans eclipse et de créer une classe et le fichier de mise en page comme ci-dessous:
MainActivity.java
main_layout.xml
Ici, c'est la limite de fichier xml code qui montre la frontière de la mise en page dans l'objet qui se déplace.
OriginalL'auteur GrIsHu