2012-04-15 16 views
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(); 
} 

答えて

2

これは - 例えばRelativeLayoutまたはFrameLayout?

私はこのようにイメージにタイトルを書いたいくつかのプロジェクトを持っていましたが、このアプローチには問題はありませんでした。

+0

オーバーレイ方法では、ディスプレイの密度を取得し、それに応じてすべての計算をスケールする必要がありますか?上記の方法でアンドロイドシステムは画像を自動的にサイズ調整します。 – pcm2a

+0

TextViewウィジェットのテキストの物理的なサイズが画面の密度の異なるデバイス間で同じであることを意味しますか?そうであれば、TextViewがそれを処理します。あなたはdipでtextSizeを定義することができます。 –

+0

イメージビュー上のテキストの場所と場所。たとえば、100px x 100pxの画像は、画面の濃度に応じて70pxまたは150pxになります。テキストX、Yのピクセルを配置したいと思います。すべての解像度で完全に配置されています。 – pcm2a

関連する問題