6

私は今というテキストを持っていますHello。テキストにフォントを適用するとすぐに、このたとえば12または18にフォントサイズを適用する必要があります。テキストサイズが大きくなります。

だから今私はペイントを使用してフォントサイズを含むテキストの高さを取得する必要があります。

私は次のペイントを試しました:

String finalVal ="Hello";

Paint paint = new Paint();
paint.setTextSize(18);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);

Rect result = new Rect();
// Measure the text rectangle to get the height
paint.getTextBounds(finalVal, 0, finalVal.length(), result);

しかし、それは機能していません、助けてください

編集

テキストの高さに基づいてWebビューの高さを動的に設定しようとしていますが、テキスト"Hello"に2行ある場合は、 1行のテキストの高さを取得します。"My name is abc and my dads name is xyz and my moms name is 123" now its not getting the proper text height".

4

3 に答える 3

13

この方法を試してください:

String finalVal ="Hello";

Paint paint = new Paint();
paint.setTextSize(18);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);

Rect result = new Rect();
paint.getTextBounds(finalVal, 0, finalVal.length(), result);

Log.d("WIDTH        :", String.valueOf(result.width()));
Log.d("HEIGHT       :", String.valueOf(result.height()));

出力は次のとおりです。

WIDTH        : 40
HEIGHT       : 14

これを設定すると、

String finalVal ="My name is abc and my dads name is xyz and my moms name is 123";

私の出力は次のとおりです。

WIDTH        : 559
HEIGHT       : 18
于 2013-01-11T11:36:50.247 に答える