/ / Android - częściowo rozciągnij obraz - android, obraz

Android - rozciągnij obraz częściowo - android, obraz

Czy jest jakiś sposób na częściowe rozciągnięcie obrazu w Androidzie? Coś takiego

wprowadź opis obrazu tutaj

Obraz jest rozciągnięty w środkowej części 1/3, ale lewe i prawe zakończenia pozostają „takie, jakie są”.

Odpowiedzi:

3 dla odpowiedzi № 1

To, co robisz, jest wbudowane w Androida. Zamień ten obraz w 9-łatkę.

http://developer.android.com/guide/developing/tools/draw9patch.html


1 dla odpowiedzi nr 2

Możesz przygotować swój obraz jako NinePatch za pomocą Narysuj 9-patch a następnie załaduj go Klasa NinePatch


0 dla odpowiedzi № 3

Można to również zrobić w kodzie:

int w = myImage.getWidth();
int h =  myImage.getHeight();
int thirdWidht = w / 3;

//create a new blank image
Bitmap stretchImage = Bitmap.createBitmap(w + thirdWidth, h, Bitmap.Config.ARGB_8888 );

Canvas c = new Canvas(stretchImage);

//draw left bit
c.drawBitmap(normalImage, new Rect(0,0,thirdWidht,h), new Rect(0,0,thirdWidht,h), true);

//draw stretched middle bit
c.drawBitmap(normalImage, new Rect(thirdWidht,0,thirdWidht * 2, h), new Rect(thirdWidht,0,thirdWidht * 3,h), true);

//draw right bit
c.drawBitmap(normalImage, new Rect(thirdWidht * 2,0,w,h), new Rect(thirdWidht * 3,0,w + thirdWidht,h), true);

myImageView.setImageBitmap(stretchImage);