我正面临着需要为给定文本绘制位图的情况。我尝试渲染具有所需属性的TextView,然后使用画布绘制其位图。我的尝试如下所示:

TextView nameTv = new TextView(context);
Bitmap bmp = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);

nameTv.layout(0, 0, 200, 200);
nameTv.setGravity(Gravity.CENTER);
nameTv.setText("Test");
nameTv.setBackgroundColor(Color.RED);

nameTv.draw(canvas);


此代码的问题是TextView上的文本未居中对齐,这是我需要的。
任何建议,欢迎:)

谢谢,
阿玛

最佳答案

我认为问题出在测量上。您没有为此呼吁措施,并且它的大小不正确。在layout()之前调用nameTv.measure()。

调用度量如下:

int measureSpecWidth = MeasureSpec.makeMeasureSpec(200, MeasureSpec.EXACTLY);
int measureSpecHeight = MeasureSpec.makeMeasureSpec(200, MeasureSpec.EXACTLY);
nameTv.measure(measureSpecWidth, measureSpecHeight);

关于android - TextView到位图,对齐问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23629313/

10-10 19:43