同时滚动多个TextView

时间:2011-11-13 18:37:15

标签: android scroll textview text-files

我有一个文件中的字符串存储到3个单独的TextView中,因为我遇到了单个TextView的对齐问题。如何仅滚动屏幕的此部分以查看文件的所有内容?

BufferedReader buf = new BufferedReader(new FileReader(file));
while((line = buf.readLine())!= null) {

    StringTokenizer st = new StringTokenizer(line);

    a = st.nextToken();
    b = st.nextToken();
    c = st.nextToken();

    text1.append(a + '\n');
    text2.append(b + '\n');
    text3.append(c + '\n');
}

dp1.setText(text1);
dp2.setText(text2);
dp3.setText(text3);

3 个答案:

答案 0 :(得分:1)

您可以将TextView放在XML文件中的Horizo​​ntalScrollView中,如此

<HorizontalScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TextView ... />
    <TextView ... />
    <TextView ... />
</HorizontalScrollView>

答案 1 :(得分:1)

为布局文件中的textViews设置android:ellipsize="marquee",并在设置文本的代码中设置setSelected(true)。我希望这会对你有帮助。

答案 2 :(得分:0)

如果需要,您可以使用以下xml进行一些调整,

<HorizontalScrollView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content">

  <TextView  android:id="@+id/dp1"... />
  <TextView  android:id="@+id/dp2"... />
  <TextView  android:id="@+id/dp3"... /> 
</HorizontalScrollView>

现在在您的Java代码中,您可以将其作为

访问
TextView textV1 = (TextView)findViewById(R.id.dp1);
TextView textV2 = (TextView)findViewById(R.id.dp2);
TextView textV3 = (TextView)findViewById(R.id.dp3);

textV1.setText(text1);
textV2.setText(text2);
textV3.setText(text3);

如果你想要,你可以使用垂直滚动条,

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:scrollbars="vertical" 
    android:layout_height="set the height here" >

</ScrollView>