0

文字列が大きいので、分割したい。以下のコードを使用して画面の幅と高さを取得しました。

DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

screenHeight = metrics.heightPixels;
screenWidth = metrics.widthPixels;

画面に表示する文字数を知りたい。

計算方法は?文字列を分割します。

4

3 に答える 3

1

Swing / AWT Javaプラットフォームでは、FontMetricsオブジェクトを使用して、表示しようとしている特定の文字の幅を測定できます。

参照:

ただし、文字のレンダリングとラッピングを処理できるものを使用する方がおそらく簡単です。

Androidプラットフォームでは、Paintクラスには、この種のことを行うのに役立ついくつかのメソッドがあります。

于 2012-07-17T09:54:38.490 に答える
0

文字列よりもwidthプロパティをwrapcontentに設定すると、自動的に分割されて次の行に表示されると思います。

このプロパティを使用する

android:layout_width="wrap_content"
            android:layout_height="wrap_content"
于 2012-07-17T10:16:43.357 に答える
0

部分文字列メソッドを使用する

String substring(int startIndex, int endIndex)

文字列を行ごとに分割し、文字列の配列に格納します

String originalString=" ....some long text " ;
String stringsByLine[]= new String(screenHeight);
int i,j=0;
for ( i = 0; j<originalString.length;i++,j++){
  stringsByLine[i]=originalString.substring(j,j+screenWidth);
  j+=screenWidth;
}

自分で試したことはありませんが、このロジックは機能するはずです。:-)

于 2012-07-17T10:02:30.997 に答える