我們都知道點九圖的作用,這里就不多說了模捂,反正就是各種好各種美如畫捶朵,這次我們把點九圖用到自定義控件中。我們用 drawBitmap 來繪制點九圖狂男,然而似乎有點問題综看。
我找了這張圖來演示一下:
這是用 drawBitmap 的代碼:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bubble);
Rect rect = new Rect(l, t, r, b);
canvas.drawBitmap(bitmap, null, rect, new Paint());
然后編譯運行。
哎呦岖食,我去红碑!這是什么鬼!說好的美如畫呢泡垃。
沒事析珊,我們換兩句代碼來實現(xiàn)。當(dāng)繪制點九圖時兔毙,我們要用到NinePatch這個類唾琼,代碼改成這樣:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bubble);
NinePatch ninePatch = new NinePatch(bitmap, bitmap.getNinePatchChunk(), null);
RectF rectF = new RectF(l, t, r, b);
ninePatch.draw(canvas, rectF);
再運行一次兄春。
看澎剥,妥妥的。