2013-01-11 21 views
8

Ich möchte die Größe eines ImageView ändern, wenn ich darauf berühre. Es wird perfekt sein, um die Größe zu ändern, wie wenn Sie den Zoom in Google Maps oder in einem mobilen Browser tun, aber wenn ich es nur anfasse, kann ich die Größe anpassen. Ist das möglich?Wie man ein ImageView programmatisch skaliert

Antwort

25

Nur fangen die Veranstaltung dieses Image berühren und als nur Höhe einstellen & Gewicht:

touched_image_view.getLayoutParams().height += 20; 
touched_image_view.getLayoutParams().width += 20; 

Oder Sie können einfach erstellen und neue LayoutParams gesetzt:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100); 
touched_image_view.setLayoutParams(layoutParams); 

Hoffe, es hilft.

+1

Um dies mit der Pinch zu Zoom-Geste zu implementieren, schauen Sie in ScaleGestureDetector. Es wird ein Skalierungsfaktor zurückgegeben, den Sie mit der Breite und Höhe multiplizieren möchten, anstatt es hinzuzufügen. –

Verwandte Themen