gpt4 book ai didi

android - 将图像和文本组合成可绘制对象

转载 作者:IT老高 更新时间:2023-10-28 22:19:42 26 4
gpt4 key购买 nike

我想创建一个可绘制对象,它由一个 map 图钉(气泡)和一些文本组成。气泡应该在背景中,文本在前景中。

这个drawable应该传入super(drawable)类(class) BalloonItemizedOverlay扩展 ItemizedOverlay<Item> .

换句话说,我想在 map 中出现的气泡中显示文本。

我正在使用 Hello Mapview tutorial

最佳答案

此方法从您的资源中获取一个可绘制对象,在其上绘制一些文本并返回新的可绘制对象。您需要做的就是给它您的气泡的资源 ID,以及您想要在顶部的文本。然后,您可以将返回的可绘制对象传递到您想要的任何地方。

public BitmapDrawable writeOnDrawable(int drawableId, String text){

Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId).copy(Bitmap.Config.ARGB_8888, true);
Paint paint = new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.BLACK);
paint.setTextSize(20);

Canvas canvas = new Canvas(bm);
canvas.drawText(text, 0, bm.getHeight()/2, paint);

return new BitmapDrawable(bm);
}

为了保持密度,你需要这个构造函数

BitmapDrawable (Resources res, Bitmap bitmap)

所以,保持你的上下文,最后一次返回应该是这样的

return new BitmapDrawable(context.getResources(), bm);

这可以防止不希望的调整大小的可绘制对象。

关于android - 将图像和文本组合成可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691818/

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