2012-02-03 8 views
1

キャンバス内にテキストをペイントしたい(必要に応じて新しい行を自動的に追加する)。私のサンプルコードザッツ:Androidのキャンバスにテキストをペイントする

Bitmap src= getBitmap(); 
    Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas cs = new Canvas(dest); 
    cs.drawBitmap(src, 0f, 0f, null); 
    TextPaint tp= new TextPaint(); 
    tp.setTextSize(.....); 
    tp. //Custom the text properties 
    StaticLayout sl= new StaticLayout(text, tp, src.getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0f, 0.0f, false); 
    sl.draw(cs); 

これは「センター|トップ」を持つテキスト塗装のため正常に動作します重力を。しかし、私は "センター|センター"と "センター|ボトム"を作ることができる必要があります。 与えられたキャンバスsrcsl slはどこに行かなければならないのですか? StaticLayoutの「開始点」をどのように変更してパディングを追加できますか?

おかげ

答えて

2

あなたが「を使用することができ、あなたのテキストの上/下にいくつかのパディングを取得するには、「幅」arguementにStaticLayout/DynamicLayoutに をいくつかのより多くのスペースを与えることができますcanvas.translate(x、y)は"

+1

文字列が途切れないようにパディングを追加するにはどうすればよいですか? – Eenvincible

関連する問題