我想拍一张小日历图片并在上面写上日期和月份。这将在列表视图中多次显示,因此我正在寻找最佳方法。
以下作品很棒,有更好的方法:
ImageView image = (ImageView) findViewById(R.id.imageView2);
try {
// Load the png image into a bitmap
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.calendar_empty);
// Have to copy the bitmap so it is mutable
mBitmap = mBitmap.copy(Bitmap.Config.ARGB_8888, true);
// Create a canvas from the bitmap to draw on
Canvas canvas = new Canvas(mBitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(12);
paint.setAntiAlias(true);
canvas.drawText("Sept", 11, 26, paint);
paint.setTextSize(18);
canvas.drawText("29", 14, 42, paint);
// Display the results on the screen
image.setImageDrawable(new BitmapDrawable(this.getResources(), mBitmap));
} catch (Exception e) {
e.printStackTrace ();
}
答案 0 :(得分:2)
为什么不直接使用ImageView,并在其上放置一个TextView作为标题的叠加层,在布局容器中启用它 - 例如RelativeLayout还是FrameLayout?
我有几个项目,我用这种方式在图像上写标题,这种方法没有问题。