でドラッグアンドドロップが必要なアプリで作業しますCanvas
。基本的には、を取得して、ユーザーが画面上でドラッグできるようにShapeDrawable
変換したいと思います。Bitmap
これはそれ自体が簡単な演習です。
ただし、図形内にテキストを追加したいと思います。それ自体にテキストを追加してdrawable
からビットマップに変換する方法はありますか?TextView
ドローアブルを背景にしたを作成することを検討しました。
これはそれを行うための最良の方法ですか?コードでの作成は避けたいとTextViews
思います。アドバイスをいただければ幸いです。
2013年2月21日編集:
JustDanyulの投稿に応えて、私は次のコードを持っています:
int width = 40;
int height = 40;
Bitmap.Config config = Bitmap.Config.ARGB_8888;
bitmap = Bitmap.createBitmap(width, height, config);
Canvas canvas = new Canvas(bitmap);
Resources res = context.getResources();
Drawable shape = res.getDrawable(R.drawable.miss_scarlet);
shape.draw(canvas);
Paint paint = new Paint();
paint.setTextSize(fontSize);
paint.setColor(Color.BLACK);
canvas.drawText(gameToken.getDbName(), 5, 5, paint);
別のキャンバスにビットマップを描画すると、ドローアブルが表示されません。ドローアブル自体は問題ありません(TextViewの背景としてテストしました)。テキストが表示されます。このコードに何かが欠けていますか?
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="4dp" />
<solid
android:color="#FF0000" />
<stroke
android:width="3dp"
android:color="#000000" />
</shape>
編集#2 2/21/2013:
追加した:
shape.setBounds(0, 0, bitmap.getWidth(), bitmap.getHeight());
私のコードにドローアブルが表示されますが、テキストが消えています(または単に非表示になっています)。