我想在顶部有一个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>
答案 0 :(得分: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
属性(Making TextView scrollable on Android),但此解决方案不支持fling手势,并在用户滚动时创建“闪烁”效果。