如何在Android中使用ScrollView?

我有一个XML布局文件,但是文本不止适合屏幕尺寸。 为了制作一个ScrollView我需要做什么?

 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" > <TableRow> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dip" android:layout_marginTop="10dip" android:layout_marginRight="5dip" android:tint="#55ff0000" android:src="@drawable/icon" /> </TableRow> <TableRow> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Name " /> <TextView android:id="@+id/name1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Veer" /> </TableRow> <TableRow> <TextView android:id="@+id/age" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Age" /> <TextView android:id="@+id/age1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="23" /> </TableRow> <TableRow> <TextView android:id="@+id/gender" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Gender" /> <TextView android:id="@+id/gender1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Male" /> </TableRow> <TableRow> <TextView android:id="@+id/profession" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Professsion" /> <TextView android:id="@+id/profession1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Mobile Developer" /> </TableRow> <TableRow> <TextView android:id="@+id/phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Phone" /> <TextView android:id="@+id/phone1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="03333736767" /> </TableRow> <TableRow> <TextView android:id="@+id/email" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Email" /> <TextView android:id="@+id/email1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="veer.developer@gmail.com" /> </TableRow> <TableRow> <TextView android:id="@+id/hobby" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Hobby" /> <TextView android:id="@+id/hobby1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Play Games" /> </TableRow> <TableRow> <TextView android:id="@+id/ilike" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" I like" /> <TextView android:id="@+id/ilike1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Java, Objective-c" /> </TableRow> <TableRow> <TextView android:id="@+id/idislike" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" I dislike" /> <TextView android:id="@+id/idislike1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Microsoft" /> </TableRow> <TableRow> <TextView android:id="@+id/address" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Address" /> <TextView android:id="@+id/address1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Johar Mor" /> </TableRow> </TableLayout> 

只需使顶层布局成为ScrollView即可:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <TableLayout android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <!-- everything you already have --> </TableLayout> </ScrollView> 

有两个选项。 你可以让你的整个布局是可滚动的,或者只有TextView是可滚动的。

对于第一种情况,

 <?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" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" > <TableRow> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dip" android:layout_marginRight="5dip" android:layout_marginTop="10dip" android:src="@drawable/icon" android:tint="#55ff0000" > </ImageView> </TableRow> <TableRow> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Name " > </TextView> <TextView android:id="@+id/name1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Veer" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/age" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Age" > </TextView> <TextView android:id="@+id/age1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="23" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/gender" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Gender" > </TextView> <TextView android:id="@+id/gender1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Male" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/profession" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Professsion" > </TextView> <TextView android:id="@+id/profession1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Mobile Developer" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Phone" > </TextView> <TextView android:id="@+id/phone1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="03333736767" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/email" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Email" > </TextView> <TextView android:id="@+id/email1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="veer.developer@gmail.com" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/hobby" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Hobby" > </TextView> <TextView android:id="@+id/hobby1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Play Games" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/ilike" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" I like" > </TextView> <TextView android:id="@+id/ilike1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Java, Objective-c" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/idislike" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" I dislike" > </TextView> <TextView android:id="@+id/idislike1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Microsoft" > </TextView> </TableRow> <TableRow> <TextView android:id="@+id/address" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text=" Address" > </TextView> <TextView android:id="@+id/address1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Johar Mor" > </TextView> </TableRow> <Relativelayout> </Relativelayout> </TableLayout> </RelativeLayout> </ScrollView> 

或者,正如我所说的,你可以单独使用scrollView for TextView。

ScrollViewFrameLayout的一种特殊types,它允许用户滚动浏览比物理显示占据更多空间的视图列表。我只是添加一些属性。

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true" android:scrollbars = "vertical" android:scrollbarStyle="insideInset" > <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" > <!-- Add here which you want --> </TableLayout> </ScrollView> 

如上所述,你可以把它放在一个ScrollView里面,如果你希望Scroll View是水平放置在HorizontalScrollView里面的…如果你希望你的组件(或者布局)支持这两者,就像这样:

  <HorizontalScrollView> <ScrollView> <!-- SOME THING --> </ScrollView> </HorizontalScrollView> 

并设置layout_widthlayout_height课程。

把你的TableLayout放在一个ScrollView Layout中,这样可以解决你的问题。

要在文本视图中滚动数据,您可以将其用于文本视图。 并添加任何其他布局,你可以添加滚动视图的布局,正如人们在上面说的。

/ **在xml布局的textview中,可以使用android:scrollable = true。

 TextView txtScroll = (TextView) findViewById(R.id.txt1); txtScroll.setMovementMethod(new ScrollingMovementMethod()); 

* //

 <?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" > <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioGroup android:layout_width="fill_parent" android:layout_height="match_parent" > <RadioButton android:id="@+id/butonSecim1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight=".50" android:text="@string/buton1Text" /> <RadioButton android:id="@+id/butonSecim2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight=".50" android:text="@string/buton2Text" /> </RadioGroup> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableLayout android:id="@+id/bilgiAlani" android:layout_width="fill_parent" android:layout_height="fill_parent" android:visibility="invisible" > <TableRow android:id="@+id/BilgiAlanitableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/bilgiMesaji" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight=".100" android:ems="10" android:gravity="left|top" android:inputType="textMultiLine" /> </TableRow> </TableLayout> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/metin4" android:layout_height="match_parent" android:layout_weight=".100" android:text="deneme" /> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/metin5" android:layout_height="match_parent" android:layout_weight=".100" android:text="deneme" /> </TableRow> </TableLayout> </ScrollView>