1
私はちょっとしたカレンダー画像を撮り、その上に日付と月を書きたいと思っています。これはリストビューで何度も表示されるので、私はそれを行う最適な方法を探しています。イメージにテキストを書き込む最も良い方法は?
以下良い方法があり、素晴らしい作品:
あなただけのImageViewのを取り、可能なレイアウトコンテナの内部で、タイトルのオーバーレイとして、その上のTextViewを入れていないのはなぜImageView image = (ImageView) findViewById(R.id.imageView2);
try {
// Load the png image into a bitmap
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.calendar_empty);
// Have to copy the bitmap so it is mutable
mBitmap = mBitmap.copy(Bitmap.Config.ARGB_8888, true);
// Create a canvas from the bitmap to draw on
Canvas canvas = new Canvas(mBitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(12);
paint.setAntiAlias(true);
canvas.drawText("Sept", 11, 26, paint);
paint.setTextSize(18);
canvas.drawText("29", 14, 42, paint);
// Display the results on the screen
image.setImageDrawable(new BitmapDrawable(this.getResources(), mBitmap));
} catch (Exception e) {
e.printStackTrace();
}
オーバーレイ方法では、ディスプレイの密度を取得し、それに応じてすべての計算をスケールする必要がありますか?上記の方法でアンドロイドシステムは画像を自動的にサイズ調整します。 – pcm2a
TextViewウィジェットのテキストの物理的なサイズが画面の密度の異なるデバイス間で同じであることを意味しますか?そうであれば、TextViewがそれを処理します。あなたはdipでtextSizeを定義することができます。 –
イメージビュー上のテキストの場所と場所。たとえば、100px x 100pxの画像は、画面の濃度に応じて70pxまたは150pxになります。テキストX、Yのピクセルを配置したいと思います。すべての解像度で完全に配置されています。 – pcm2a