Czy jest jakiś sposób na częściowe rozciągnięcie obrazu w Androidzie? Coś takiego
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 № 1To, 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);