0

Android のペイント オブジェクトを理解するのに助けが必要です。myString という名前の文字列オブジェクトがあります。アセットの下にあるtxtファイルにいくつかのコンテンツをロードします。私のコードで myString.length() を実行すると、vlue は 16708 になります。

以下のようにペイント オブジェクトを使用して長さを取得すると、211050 の値が得られます。

myTextView = (TextView)findViewById(R.id.my_text_view);
Paint paint = myTextView.getPaint();
float length = paint.measureText(myString, 0, myString.length());

長さの値は 211050 です。

ここで、これらの値が何であるかを理解しようとしています。16708 は明らかに文字列の全長です。そして、ここの 211050 は何ですか? 文字列の幅はピクセルですか?

4

1 に答える 1

0

はい、画面上でテキストがピクセル単位で取る長さです。

編集:

はい、paint.breakText()パラメーターで指定された最大幅に従って文字列を分割するのに役立ちます。

ただし、ブレークテキストは を使用して壊れた文字列の正確な長さを決定できないため、iまたはl(small L)またはwsetSubpixelText (true)を含む文字列を説明するためにも使用する必要があります。少なくとも私はこの問題に直面し、を使用して解決しました。breakText()setSubpixelText()

お役に立てれば。

于 2013-01-11T14:22:41.077 に答える