2012-04-04 2 views
0

Ich habe eine ImageView, die ich nur Teile von einer gleichzeitig anzeigen möchte. Aber ausgehend von den gleichen x, y Koordinaten. Gibt es einen einfachen Weg, dies zu tun?Wie wird ein halber oder ein Viertel eines ImageView in Android angezeigt?

+0

Wenn Sie nicht einen Weg mit einem 'ImageView' finden, sollte es recht einfach sein, um Ihre eigene' View' Implementierung, die das tut. – Jave

+0

Ich habe das versucht, aber das Bild skaliert sich immer nach unten. Gibt es eine Möglichkeit, die Skalierung des Bildes zu verhindern und nur die Region zu schneiden, die ich nicht zeige? –

+0

Ja, Sie können eine der drawBitmap-Methoden verwenden, mit denen Sie sowohl eine Teilmenge des Originalbilds als auch die Zeichenfläche festlegen können, z. B. die folgende: http://developer.android.com/reference/android/graphics /Canvas.html#drawBitmap%28android.graphics.Bitmap,%20android.graphics.Rect,%20android.graphics.RectF,%20android.graphics.Paint%29 Wenn Sie das src-rect auf ein Viertel der Quelle gesetzt Bild, und die DST-Rect zu einem Viertel der Leinwand, sollten Sie bekommen, was Sie wollen. – Jave

Antwort

0

Check out diese

Drawable drawable = getResources().getDrawable(R.drawable.image); 
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); 
bitmap= Bitmap.createBitmap(bitmap , startX, startY, width, height); 
imgview.setBackgroundDrawable(new BitmapDrawable(bitmap)); 

Sie auch Ihr Bild resise können

Bitmap resizedImage = Bitmap.createScaledBitmap(bitmap, scrwidth, scrwidth, false); 
Verwandte Themen