与えられた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. UIWebViewでコンテンツを幅に合わせる
- 6. コンテンツにセル幅を合わせる
- 7. オペラの「幅に合わせる」ボタン
- 8. どのようにアンドロイドキャンバスにテキストの幅を合わせるには?
- 9. ボタンの幅に合わせてテキストを自動サイズ調整する
- 10. Androidの画面幅に合わせてテキストを調整する方法
- 11. 画像をテキストに合わせる
- 12. ビットマップを画面の幅に合わせて表示するにはどうすればよいですか?
- 13. ワイドスクリーン854に合わせるためのビットマップのスケーリング
- 14. 幅、最小幅、最大幅の組み合わせ
- 15. 合わせボケのDataTableの列幅
- 16. グリッドビューの幅と位置合わせ
- 17. ワイドデザインのウェブサイトをブラウザの幅に合わせる方法
- 18. 内容に合わせてHBoxの幅を変更する
- 19. サイトをブラウザーの正確な幅と高さに合わせる
- 20. 画面の幅に合わせてUIImageViewをスケーリングする
- 21. divの幅に合わせてコンテンツを作成する
- 22. xtableとknitr:テーブルを全ページ幅に合わせるには?
- 23. グリッド幅に合わせて列を取得できません
- 24. Androidの星の評価幅に合わせる方法
- 25. DataGridView列[0]の幅を列の最大のテキストに合わせるように設定しますか?
- 26. 目的c:UIWebviewのtwitterページの幅を合わせる
- 27. LinearLayout ImageViewすべてのイメージの幅を合わせる
- 28. テーブルの幅をウェブブラウザに合わせて伸ばす
- 29. jQueryを使用してテキストの上にカーソルを合わせる
- 30. divの2つのdivを固定幅と可変幅/可変幅のいずれかに合わせる
私は試しました。たとえば、いくつかのコード行を付けることはできますか? – styanton