Récupérer position sur l'écran
Bonjour,
j'ai une pièce (style tetris) que je peux déplacer partout sur mon écran, j'aimerais initialiser sa position X,Y à la même qu'une autre image (ImageView), sur 2 appareils virtuels, ça marche. Or j'ai un écart de 0.5cm pour le Y quand je teste avec mon téléphone connecté. Ca fait un petit moment que je cherche la solution mais je ne trouve pas. J'ai remarqué que lorsque la position de "l'autre image" change, la position de la pièce reste toujours à 0.5cm d'écart en Y.
Voila comment je crée, initialise la position de la pièce:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| ImageView im = new ImageView(this);
im.setImageResource(colorIm);
im.setScaleType(ImageView.ScaleType.FIT_XY);
im.setAdjustViewBounds(true);
im.setLayoutParams(new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,ActionBar.LayoutParams.WRAP_CONTENT));
im.getLayoutParams().height = SIZE_SQUARE;
im.getLayoutParams().width = SIZE_SQUARE;
relativeLayout.addView(im);
im.bringToFront();
int[] img_coordinates = new int[2];
ImageView grid = findViewById(R.id.grid);
grid.getLocationOnScreen(img_coordinates);
im.setX(img_coordinates[0]);
im.setY(img_coordinates[1]); |
Partie du layout concernant l'autre image: grid
Code:
1 2 3 4 5 6 7 8 9
| <ImageView
android:id="@+id/grid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/grid"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:layout_centerHorizontal="true"
/> |
Partie du layout où la pièce "im" est rajoutée:
Code:
1 2 3 4 5 6 7
| <RelativeLayout
android:id="@+id/listPieces"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
android:orientation="horizontal">
</RelativeLayout> |
Si vous avez une idée de ce que ça pourrait être je suis tout ouïe.
PS: Je suis presque sûre que c'est un histoire avec les layout (dans un relativelayout ca donnera pas la même chose ou c'est une position relative etc.). mais je ne sais pas comment je pourrais gérer cela.
Merci.