0

我想在 2 列中显示文本。

前任。我有大字符串,第一列添加第一个字符串,在屏幕高度结束后,文本应该添加到第二列。像新闻纸。

第一个第一列填充然后第二个。

但是输出不正确。下面是输出图像。

在此处输入图像描述

爪哇代码

final TextView tvl = (TextView)findViewById(R.id.textl);
final TextView tvr = (TextView)findViewById(R.id.textr);
final String text = "sdf";
tvl.post(new Runnable() {

    @Override
    public void run() {
        TextMeasure(text,tvl,tvr);
    }
    });

private void TextMeasure(String text,
TextView tvl,TextView tvr) {
// Get number of lines of text that will fit on the screen
int linesPerScreen = tvl.getHeight()/(tvl.getLineHeight() + (int)tvl.getLineSpacingExtra());
// Measure how much text will fit across the TextView
Paint paint = tvl.getPaint();
int textWidth = paint.breakText(text, 0, text.length(),
true, tvl.getWidth(), null);
// Total amount of text to fill the TextView is
// approximately:
int totalText = textWidth * linesPerScreen;
String leftText = text.substring(0,totalText);
String rightText = text.substring(totalText,
text.length());
tvl.setText(leftText);
tvr.setText(rightText);
}

xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="2"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="@string/hello_world" />
     <TextView
        android:id="@+id/textr"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="@string/hello_world" />
</LinearLayout>
4

0 回答 0