マップマーカーにテキストを配置しようとしていますが、常にその下に表示されます。 最初にdrawableをビットマップに変換し、それにテキストを描画します。 Drawableからビットマップへの変換はうまく動作しますが、テキストオーバーレイにのみ問題があります。ビットマップ上にテキストを描画
私はすでに、これらを試してみました:運と
- Adding text to a bitmap in memory in Android
- https://stackoverflow.com/a/7328777/3423468
- https://stackoverflow.com/a/8831182/3423468
と、より多くの。
これは私の現在のメソッドです:
Bitmap drawableToBitmap(Drawable drawable)
{
var bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
var canvas = new Canvas(bitmap);
if (shouldDrawText)
{
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStrokeWidth(40);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER)); // Text Overlapping Pattern
//canvas.drawBitmap(bitmap, 0, 0, paint);
canvas.drawText("Testing...", 10, 10, paint);
}
drawable.SetBounds(0, 0, canvas.Width, canvas.Height);
drawable.Draw(canvas);
return bitmap;
}
私が間違ってやっている任意のアイデア?
は、あなたの中** '化合物のdrawable'として**のTextViewを描画可能なを使用して考えがあります動作しますporterduff方法の概要を参照してください? –
はい、地図マーカーに必要な限り、私はそれをスキップしました。 – arsena
この問題をどのように解決したのですか? – Andriy