我有一个 TextView tv
,我在上面写了一些文字。然后从 TextView 中提取一个位图,然后将这个位图绘制在画布上。我希望 TextView 中的文本垂直和水平居中,为此我使用 tv.setGravity(Gravity.CENTER)。然而,文本最终仅水平居中。以下是创建 TextView 并设置所有参数的代码:
tv.layout(0, 0, displayWidth, displayHeight);
tv.setTextSize(60);
tv.setTextColor(Color.WHITE);
tv.setBackgroundColor(Color.GREEN);
tv.setGravity(Gravity.CENTER);
tv.setText(text);
tv.setDrawingCacheEnabled(true);
textBmp = tv.getDrawingCache().copy(Bitmap.Config.ARGB_8888, true);
tv.setDrawingCacheEnabled(false);
这就是我如何将它绘制到我的画布中
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(textBmp, 0, 0, null);
}
}
我该怎么做才能使文本也垂直居中。