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 回答