android 4.4中的drawText invisibile

时间:2014-03-25 10:58:07

标签: android android-view android-bitmap

代码片段:方法getBitmap是在其上绘制一个drawText()的位图

public void showImageView() {
     imageView.setBitmap(getBitmap("something", getActivity()));
}


public static Bitmap getBitmap(String content, Context context) {
    Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),
            R.drawable.kfunsdk_stamp_bg)
            .copy(Bitmap.Config.ARGB_4444, true);
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    int typeSize = (int) (height / 1.7);
    int left = (int) ((width - typeSize * content.length()) / 1.8);
    Paint paint = new Paint();
    paint.setTextSize(typeSize);
    paint.setColor(Color.WHITE);
    paint.setTextAlign(Paint.Align.LEFT);
    paint.setAntiAlias(true);
    paint.setTypeface(Typeface.DEFAULT);

    Canvas canvas = new Canvas(bitmap);

    canvas.save();

    int top = (int) ((height - typeSize) / 2.5) + typeSize;

    canvas.drawText(content, left, top, paint);

    canvas.restore();
    return bitmap;
}

这是在android 4.4结果中。

enter image description here

使用在android 4.3 reuslt中运行的相同代码

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使用替换位图配置 Bitmap.Config.ARGB_8888