2017-09-14 1 views
0

Ich möchte einige Bilder (ausgelöst durch Klick-Aktion) in einem Layout platzieren. Ich muss sie so platzieren, dass sie nicht aus dem übergeordneten Layout herauskommen.Platzieren Sie Bilder in einem Layout Android

Code I auf, klicken Sie das Layout ein neues Bild hinzuzufügen bin mit:

LinearLayout layout = (LinearLayout) findViewById(R.id.layout); 
    ImageView image = new ImageView(this); 
LinearLayout.LayoutParams coordinates = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
image.setLayoutParams(coordinates); 
image.setImageResource(R.drawable.image); 
layout.addView(image); 

Wenn ich auf das Layout drücken, muss ich meine Imageview zufällig gestellt sehen.

Random random = new Random(); 
int x = random.nextInt(layout.getWidth()); 
int y = random.nextInt(layout.getHeight()); 
image.setX(x); 
image.setY(y); 

Aber das wird es nicht tun. Und ich sehe diese Bilder auch außerhalb meines Layouts.

+1

Was verwenden Sie 'Random' für? – mrid

+0

Das ist auf Klick Aktion, ich möchte die Bilder zufällig auf meinem Layout setzen, wenn ich auf das Layout klicke. – simplify

Antwort

1

Sie setzen x & y die oberen linken oberen Ecke - Startpunkt des Bildes, um es anzuzeigen. Da der x/y-Wert die rechte/untere Ecke sein kann, geht Ihr Bild in diesem Fall aus dem Layout. Bitte beachten Sie - x, y sind Ausgangspunkt von wo Ihr Bild gezeichnet wird. Sie müssen sicherstellen, dass layoutWidth - x> = imageWidth und layoutHeight - y> = imageHeight.

+0

Danke, das hat super funktioniert :) – simplify

Verwandte Themen