gpt4 book ai didi

android - 在 ImageView 中绘制文本

转载 作者:行者123 更新时间:2023-11-29 18:09:14 25 4
gpt4 key购买 nike

我在 ImageView 中有一个 Nine-Patch Image,我想在图像的内容区域中绘制文本。Android 会拉伸(stretch)图像,在不同的屏幕上我无法使用 dp 或 px 等单位。太不准确了。

如何完成这个使命? =)

最佳答案

您可以编写自定义 ImageView 并在 onDraw(Canvas canvas) 方法中,您可以通过以下方式在其上绘制文本:

Paint paint = new Paint()
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setColor(Color.BLACK);
paint.setTextSize(11);
canvas.drawText("your text", x, y, paint);

例如,您可以将文本置于 ImageView 的中心:

int imgWidth = getMeasuredWidth();
int imgHeight = getMeasuredHeight();
float txtWidth = paint.measureText("your text");

int x = imgWidth/2 - txtWidth/2;
int y = imgHeight/2 - 6; // 6 is half of the text size

关于android - 在 ImageView 中绘制文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com