与えられたRect()を水平に塗りつぶしたテキストを描画する必要があります(スペースだけを伸ばしてください)。各単語の幅を数えることを除いて、方法はありますか?テキストをビットマップの幅に合わせる
2
A
答えて
0
onDraw()関数でStaticLayout(静的なテキストの場合)またはDynamicLayout(ダイナミックなテキスト)を試してみると、これは最大の幅を与えることができるテキストレイアウトです。 TextUtils.EllipSizeを使用してテキストをカットすることもできます。
1
はい、問題ありません。あなたonDraw(キャンバスC)関数で次のコードを使用します
public void onDraw(Canvas canvas) {
TextPaint mTextpaint = new TextPaint();
mTextPaint.setAntiAlias(true);
mTextPaint.setTextSize(14);
mTextpaint.setColor(Color.MAGENTA);
final String mText = "Hello World";
final int maxTextWidth = 40;
DynamicLayout dl = new DynamicLayout(mText, mTextPaint,
maxTextWidth, Layout.Alignment.ALIGN_CENTER, 1.0f, 1.0f, false);
canvas.translate(0, 100);
dl.draw(canvas);
}
この例では、最大幅、構成TextPaint及びテキストが与えられるのTextLayout(DynamicLayout)を作成します。 ) 私のコメント:サンプルコードが最適化されていないので、他のすべての関数でTextpaintを設定することができますが、イベントのTextとmaxTextWidth - 時にはonDraw()イベントが頻繁に使用されるため、クラスコンストラクタなどのように頻繁に使用されない別の関数にコードを追加する方がよい場合もあります。
+0
ありがとうございます。しかし、それは私が必要とするものではありません。私はCSSで "text-align:justify"のような同じ効果が欲しいです。 – styanton
関連する問題
- 1. Android - ビットマップを画面に合わせる
- 2. UIPickerViewの幅をビューに合わせる
- 3. WrapPanelを親の幅に合わせる
- 4. SIFR 3テキストの幅に合わせてサイズ変更
- 5. 画面の幅に合わせてテキストの幅が変更されます
- 6. ブートストラップテーブルのヘッダの幅をボディの幅に合わせるには?
- 7. どのようにアンドロイドキャンバスにテキストの幅を合わせるには?
- 8. コンテンツにセル幅を合わせる
- 9. UIWebViewでコンテンツを幅に合わせる
- 10. オペラの「幅に合わせる」ボタン
- 11. コンテナの幅に合わせて異なる長さのテキストを調整する
- 12. 画像の幅とテキストの位置合わせ
- 13. 幅画像をデータグリッドセルの幅に合わせる方法
- 14. ブートストラップの幅をコンテンツ幅に合わせる
- 15. ボタンの幅に合わせてテキストを自動サイズ調整する
- 16. Androidの画面幅に合わせてテキストを調整する方法
- 17. CSSのテキストにカーソルを合わせる
- 18. ビットマップのサイズに合わせてsetMarginを設定する
- 19. スーパーフィッシュナビバーの幅に合わせて調整
- 20. CSS間のテキストの幅に合わせて調整する/正当化
- 21. ビットマップを画面の幅に合わせて表示するにはどうすればよいですか?
- 22. ワイドスクリーン854に合わせるためのビットマップのスケーリング
- 23. 画像をテキストに合わせる
- 24. テキストをTextViewに合わせる - Android
- 25. 固定幅の、デバイスの幅に合わせたビューポートのメタタグ
- 26. 幅、最小幅、最大幅の組み合わせ
- 27. テキストの左にテキストの中心とレベルを合わせるHTML
- 28. 合わせボケのDataTableの列幅
- 29. divの幅をテキストに合わせても最大幅を使用しますか?
- 30. グリッドビューの幅と位置合わせ
私は試しました。たとえば、いくつかのコード行を付けることはできますか? – styanton