0

我想在顶部有一个 TextView,如果它超过 5 行文本,它会滚动。然后是底部的文本列表,简单地归档剩余空间。

我正在使用带有 TextView 的 ScrollView。问题是如果我将顶部滚动设置为扭曲内容,如果文本超过 5 行,它将继续变大。如果我将其设置为填充父级,则不会显示按钮文本视图。有没有办法做到这一点?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Tell a Furtune Chat"
        android:textSize="38px" />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tell a Furtune \n ted \n teda \n rob \n fred \n bed \n jack \n junk \n more"
            android:textSize="38px" />
    </ScrollView>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tell a Furtune \n ted \n teda \n rob \n fred \n bed \n jack \n junk \n more"
            android:textSize="38px" />
    </ScrollView>

</LinearLayout>
4

1 回答 1

0

如果我理解您的问题,只需使用此属性:

<TextView
    ...
    android:maxLines="5" />

此外,如果您的 ScrollViews 将其他视图“推”出屏幕底部,您可以像这样限制它们的高度:

<ScrollView
    ...
    android:height="100dp" >

添加

文档

EditText 是 TextView 之上的一个薄薄的饰面,将自身配置为可编辑。

但是在这种情况下:maxLines以两种截然不同的方式表现。我似乎记得 TextView 在定义后会自动滚动,maxLines就像我经常使用的 EditTexts 一样。(多么疯狂的想法!)无论如何,这是实现您想要的最简单的方法:

<ScrollView
    android:layout_width="wrap_content"
    android:layout_height="90sp" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ... />
</ScrollView>

ScrollView 的高度是字体大小与要显示的行数的比率。您可以使用maxLines此处描述的属性(在 Android 上使 TextView 可滚动),但此解决方案不支持投掷手势,并在用户滚动时创建“闪烁”效果。

于 2012-06-12T22:44:41.063 回答