我在活动的顶部节点有一个ScrollView,里面有几个TextView。我希望其中一些(2个中的1个)TextView可以自行滚动。他们每个超过5行,但我希望访问者只看到5行,并且必须滚动才能观看完整的文本。但我所做的......不起作用:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:text = "Blabla"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanc"
android:maxLines="5"
android:scrollbars="vertical"
android:text="Blablabla1\nBlablabla2\nBlablabla3\nBlablabla4\nBlablabla5\nBlablabla6\nBlablabla7\nBlablabla8\n"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:text = "Blabla"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanc"
android:maxLines="5"
android:scrollbars="vertical"
android:text="Blablabla1\nBlablabla2\nBlablabla3\nBlablabla4\nBlablabla5\nBlablabla6\nBlablabla7\nBlablabla8\n"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:text = "Blabla"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanc"
android:maxLines="5"
android:scrollbars="vertical"
android:text="Blablabla1\nBlablabla2\nBlablabla3\nBlablabla4\nBlablabla5\nBlablabla6\nBlablabla7\nBlablabla8\n"/>
</LinearLayout>
</ScrollView>
这样做,TextViews放了5行,但它们不可滚动。
我做错了什么?
答案 0 :(得分:1)
试试这种方式,
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:text = "Blabla"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanc"
android:maxLines="5"
android:scrollbars="vertical"
android:text="Blablabla1\nBlablabla2\nBlablabla3\nBlablabla4\nBlablabla5\nBlablabla6\nBlablabla7\nBlablabla8\n"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:text = "Blabla"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanc"
android:maxLines="5"
android:scrollbars="vertical"
android:text="Blablabla1\nBlablabla2\nBlablabla3\nBlablabla4\nBlablabla5\nBlablabla6\nBlablabla7\nBlablabla8\n"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"
android:text = "Blabla"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanc"
android:maxLines="5"
android:scrollbars="vertical"
android:text="Blablabla1\nBlablabla2\nBlablabla3\nBlablabla4\nBlablabla5\nBlablabla6\nBlablabla7\nBlablabla8\n"/>
</LinearLayout>
</ScrollView>
答案 1 :(得分:1)
ScrollView或不是没关系。解决方案是在Java代码中执行更多操作:
textviewtv.setMovementMethod(new ScrollingMovementMethod());