Aidez-moi s'il vous plaît, je veux obtenir la position de ImageView sur une mise en page. p>
p>
5 Réponses :
x = imageViewObject.getLeft(); y = imageViewObject.getTop(); Hope, it help you!
n'a pas fonctionné pour moi. Tout retourné zéro. (Utilisé avec le bouton, pas imageview, mais cela ne devrait pas faire la différence.)
@mathheadincLouds ne fonctionne pas pour moi non plus. Avez-vous déjà eu un travail?
Toujours pas de solution? C'est 0 pour moi aussi
Position Signification X et Y et Hauteur et largeur? P>
Cette mise en page est une vue, cette vue a ces propriétés. P>
Je souhaite obtenir un emplacement actuel sur la vue des moyens X et Y, afin que je puisse animer de cette position à cette position.
Regardez les méthodes disponibles dans la classe d'affichage.
au moment de l'exécution Vous pouvez obtenir l'emplacement de chaque fichier code> objet code> (ceci inclut Position gauche de l'objet d'affichage Position supérieure d'objet d'affichage Position droite de l'objet d'affichage Position inférieure de l'objet Vue Même vous pouvez obtenir l'emplacement avec p>
mise en page code> aussi) avec p>
Getleft () Code> P>
gettop () code> p>
getdright () code> p>
Getbottom () Code> P>
getLocationScreen (int []) code> p>
Vous pouvez utiliser ceci avec getLocationScreen (int []) code> p>
ne fonctionne pas pour moi. mon image avec est dans un relativelaoyout et se rapporte avec un bouton du haut et aligne avec la droite
Le code ci-dessous fonctionne pour que je reçois le point d'origine, j'ai utilisé la variable booléenne globale déplacé code> pour trouver la valeur une fois dans la méthode
ouetch code>
v.getx () code> et ...
gety () code> obtient la valeur de mon
imageview code> Objet Je suis exécuté sur mon fichier APK sur un périphérique et cela fonctionne parfaitement. J'espère que cela aide
joystick.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(moved){
moved = false;
xOrigin = v.getX();
yOrigin = v.getY();
mode.setText(Float.toString(xOrigin));
challenge.setText(Float.toString(yOrigin));
}
mode.setText(Float.toString(v.getX()));
challenge.setText(Float.toString(v.getY()));
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
xCoOrdinate = v.getX() - event.getRawX();
yCoOrdinate = v.getY() - event.getRawY();
//mode.setText(Float.toString(v.getX()));
//challenge.setText(Float.toString(v.getY()));
break;
case MotionEvent.ACTION_MOVE:
v.animate().x(event.getRawX() + xCoOrdinate).y(event.getRawY() + yCoOrdinate).setDuration(0).start();
if(v.getX() < xOrigin -50){
v.animate().x(xOrigin -50).setDuration(0).start();
}
else if(v.getX() > xOrigin +50) {
v.animate().x(xOrigin +50).setDuration(0).start();
}
if(v.getY() < yOrigin -50){
v.animate().y(yOrigin -50).setDuration(0).start();
}
else if(v.getY() > yOrigin +50) {
v.animate().y(yOrigin +50).setDuration(0).start();
}
break;
default:
v.setX(xOrigin);
v.setY(yOrigin);
mode.setText(Float.toString(xOrigin));
challenge.setText(Float.toString(yOrigin));
return false;
}
return true;
}
});