入力(text、text_font_size、device_width)を受け取るAndroidのメソッドを探しています。これらの計算に基づいて、特定のテキストを表示するために必要な高さを返しますか?
彼のコンテンツに基づいてテキスト ビュー/Web ビューの高さのランタイムを設定しています。
だから私は高さを計算しようとしており、それに基づいてビューの高さを設定しています。
私は次の方法で試しました
Paint paint = new Paint();
paint.setTextSize(text.length());
Rect bounds = new Rect();
paint.getTextBounds(text, 0, 1, bounds);
mTextViewHeight= bounds.height();
したがって、出力は
1) "Hello World" は、フォント 15 に対して高さ 13 を返します。
2) 「Jelly Bean の最新バージョンはこちらです。パフォーマンスが最適化されています」は、フォント 15 に対して高さ 16 を返します。
それから私は試してみました
Paint paint = new Paint();
paint.setTextSize(15);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), result);
Paint.FontMetrics metrics = brush.getFontMetrics();
int totalHeight = (int) (metrics.descent - metrics.ascent + metrics.leading);
したがって、出力は
1) "Hello World" は、フォント 15 に対して高さ 17 を返します。
2) 「Jelly Bean の最新バージョンがここにあります。パフォーマンスが最適化されています」は、フォント 15 に対して高さ 17 を返します。
これらの値を自分のビューに設定すると、一部のテキストが切り取られ、すべてのコンテンツが表示されるわけではありません。
繰り返しになりますが、一部のテーブルでは幅が広いため問題ないように見えますが、電話では問題ありません。
コンテンツに基づいて高さを計算する方法はありますか?