Android,如何使渐变平滑?
我试图制作一个按钮背景,但它似乎有点参差不齐Android,如何使渐变平滑?,android,Android,我试图制作一个按钮背景,但它似乎有点参差不齐 public Bitmap makeButtonBit (int w,int h) { Bitmap bitmapBtn = Bitmap.createBitmap(w, h+2, Bitmap.Config.ARGB_8888); Canvas cnvBtn = new Canvas(bitmapBtn); Paint pR1 = new Paint(); pR1.setAntiAlias(true);
public Bitmap makeButtonBit (int w,int h)
{
Bitmap bitmapBtn = Bitmap.createBitmap(w, h+2, Bitmap.Config.ARGB_8888);
Canvas cnvBtn = new Canvas(bitmapBtn);
Paint pR1 = new Paint();
pR1.setAntiAlias(true);
pR1.setAlpha(40);
///
RectF rectShd1 = new RectF(0, 0, w, h+1);
cnvBtn.drawRoundRect(rectShd1, 8, 8, pR1);
RectF rectShd2 = new RectF(0, 0, w, h+2);
cnvBtn.drawRoundRect(rectShd2, 8, 8, pR1);
///
pR1.setAlpha(255);
pR1.setShader(new LinearGradient(0, 0, 0, h, 0x11000000, 0xCC000000, TileMode.CLAMP));
RectF rect1 = new RectF(0, 0, w, h);
cnvBtn.drawRoundRect(rect1, 6, 6, pR1);
pR1.setShader(new LinearGradient(0, 0, 0, h, 0xFF858990, 0xFF2E3337, TileMode.CLAMP));
RectF rect2 = new RectF(1, 1, w-1, h-1);
cnvBtn.drawRoundRect(rect2, 6, 6, pR1);
pR1.setShader(new LinearGradient(0, 0, 0, h, 0xFF525A63, 0xFF2D343A, TileMode.CLAMP));
RectF rect3 = new RectF(2, 2, w-2, h-2);
cnvBtn.drawRoundRect(rect3, 6, 6, pR1);
return bitmapBtn;
}
知道我做错了什么吗
谢谢。为什么不使用九块补丁呢?嗯,因为我一开始对它并不感兴趣。:)另一方面,绘制矩形将便于将来更改颜色、角半径等。