/**
*
* @param bitmap 待绘制的图片
* @param roundPx 表示绘制的矩形的四个角的圆的程度
* @return 绘制好的圆角图片
*/
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output); final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect); paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint); return output; }我的貌似没这种问题啊,你试试
*
* @param bitmap 待绘制的图片
* @param roundPx 表示绘制的矩形的四个角的圆的程度
* @return 绘制好的圆角图片
*/
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output); final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect); paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint); return output; }我的貌似没这种问题啊,你试试
我的组件是通过 WindowManager wm = (WindowManager) getApplicationContext()
.getSystemService(WINDOW_SERVICE);
添加可能是透明了 但是wm 是黑色 的所以有黑底
添加组件时加入下面这句就没有了
params.format=PixelFormat.RGBA_8888;你的应该是在activity里的组件 所以没这种情况 是我没说清楚
只有你恢复了 所有分都给你吧!
.getSystemService(WINDOW_SERVICE);
添加可能是透明了 但是wm 是黑色 的所以有黑底
添加组件时加入下面这句就没有了
params.format=PixelFormat.RGBA_8888;正解啊,3Q very much!