/**
 * 
 * @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; }我的貌似没这种问题啊,你试试

解决方案 »

  1.   


    我的组件是通过 WindowManager wm = (WindowManager) getApplicationContext()
    .getSystemService(WINDOW_SERVICE);
    添加可能是透明了 但是wm 是黑色 的所以有黑底
    添加组件时加入下面这句就没有了 
    params.format=PixelFormat.RGBA_8888;你的应该是在activity里的组件 所以没这种情况 是我没说清楚
    只有你恢复了 所有分都给你吧!
      

  2.   

    我的组件是通过 WindowManager wm = (WindowManager) getApplicationContext()
    .getSystemService(WINDOW_SERVICE);
    添加可能是透明了 但是wm 是黑色 的所以有黑底
    添加组件时加入下面这句就没有了 
    params.format=PixelFormat.RGBA_8888;正解啊,3Q very much!