如何将滚动条添加到相对布局?
我是Android应用开发新手。 现在我正在devise一个应用程序,因为我有一个Activity
,其中包含一些内容,但这些内容是更多的内容是在屏幕之外。 现在,我想向用户展示这些内容,但是我不知道如何将滚动条保留在Activity
。
如何使用RelativeLayout
显示滚动器的最终用户的总内容?
嗨看到下面的示例代码的XML文件。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dip" android:text="@+id/TextView01" > </TextView> </LinearLayout> </RelativeLayout> </ScrollView>
只要把你的RelativeLayout
放在ScrollView
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent"> ------- here RelativeLayout ------ </ScrollView>
你想用scrollView
把它括起来。
检查下面的示例布局文件
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/white"> <RelativeLayout android:layout_height="fill_parent" android:layout_width="fill_parent"> <ImageView android:id="@+id/image1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15dip" android:layout_marginTop="15dip" android:src="@drawable/btn_blank" android:clickable="true" /> </RelativeLayout> </ScrollView>
下面的代码应该做的伎俩:
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="638dp" > <TextView android:id="@+id/textView1" style="@style/normalcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="64dp" android:text="Email" /> <TextView android:id="@+id/textView2" style="@style/normalcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_marginTop="41dp" android:text="Password" /> <TextView android:id="@+id/textView3" style="@style/normalcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="47dp" android:text="Confirm Password" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView1" android:layout_alignBottom="@+id/textView1" android:layout_alignParentRight="true" android:layout_toRightOf="@+id/textView4" android:inputType="textEmailAddress" > <requestFocus /> </EditText> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView2" android:layout_alignBottom="@+id/textView2" android:layout_alignLeft="@+id/editText1" android:layout_alignParentRight="true" android:inputType="textPassword" /> <EditText android:id="@+id/editText3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView3" android:layout_alignBottom="@+id/textView3" android:layout_alignLeft="@+id/editText2" android:layout_alignParentRight="true" android:inputType="textPassword" /> <TextView android:id="@+id/textView4" style="@style/normalcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView3" android:layout_marginTop="42dp" android:text="Date of Birth" /> <DatePicker android:id="@+id/datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/textView4" /> <TextView android:id="@+id/textView5" style="@style/normalcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/datePicker1" android:layout_marginTop="60dp" android:layout_toLeftOf="@+id/datePicker1" android:text="Gender" /> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView5" android:layout_alignBottom="@+id/textView5" android:layout_alignLeft="@+id/editText3" android:layout_marginLeft="24dp" android:text="Male" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/radioButton1" android:layout_below="@+id/radioButton1" android:layout_marginTop="14dp" android:text="Female" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="23dp" android:layout_toLeftOf="@+id/radioButton2" android:background="@drawable/rectbutton" android:text="Sign Up" />
我用了
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout
并完美地工作
如果滚动条的内容大于它的容量,滚动条就会自动添加一个滚动条(比如当你在文本框中input的时候,当你的文本大小大于它的初始大小时突然显示滚动条,但是请注意一些容器(例如listview)有滚动他们selfs,并可能无法正常工作,当你把他们在滚动视图。