M
Mazen
Neues Mitglied
- 0
Hallo Leute,
ich habe x und y Koordinaten eines Punktes in einem relativen Layout. Den Mittelpunkt meines ImageViews möchte ich nun genau auf diesen Punkt setzen.
Bisher siehts bei mir so aus:
So ist aber natürlich die linke obere Ecke auf der x/y Koordinate, nicht aber der Mittelpunkt. Das ganze passiert mit mehreren Views in einer Schleife:
Dieser Codeabschnitt stammt aus der Funktion onWindowFocusChanged meiner Activity. Probiert habe ich schon folgendes:
Allerdings ohne Erfolg. Vermutlich weil der ImageView zu dem Zeitpunkt noch nicht gezeichnet ist?
Hat jemand noch einen anderen Ansatz?
Gruß,
Mazen
ich habe x und y Koordinaten eines Punktes in einem relativen Layout. Den Mittelpunkt meines ImageViews möchte ich nun genau auf diesen Punkt setzen.
Bisher siehts bei mir so aus:
Code:
lp.setMargins((int)convertDpToPixel((float)x,this), (int)convertDpToPixel((float)y,this), 0, 0);
So ist aber natürlich die linke obere Ecke auf der x/y Koordinate, nicht aber der Mittelpunkt. Das ganze passiert mit mehreren Views in einer Schleife:
Code:
ImageView imgView = new ImageView(this);
imgView.setImageResource(R.drawable.dot_green);
container.addView(imgView);
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams)imgView.getLayoutParams();
lp.setMargins((int)convertDpToPixel((float)x,this), (int)convertDpToPixel((float)y,this), 0, 0);
Dieser Codeabschnitt stammt aus der Funktion onWindowFocusChanged meiner Activity. Probiert habe ich schon folgendes:
Code:
lp.setMargins((int)convertDpToPixel((float)x,this)-(imgView.getMeasuredWidth()/2), (int)convertDpToPixel((float)y,this)-(imgView.getMeasuredHeight()/2), 0, 0);
Allerdings ohne Erfolg. Vermutlich weil der ImageView zu dem Zeitpunkt noch nicht gezeichnet ist?
Hat jemand noch einen anderen Ansatz?
Gruß,
Mazen