2011-01-31 113 views
38

我是Android应用开发新手。现在我正在设计一个应用程序,因为我有一个Activity,它包含了一些内容,但这些内容是更多内容超出屏幕的内容。现在我想向用户展示该内容,但我不知道如何将滚动条保持到Activity如何将滚动条添加到相对布局?

如何使用滚动条使用RelativeLayout向最终用户显示总内容?

回答

84

您好,请参阅以下示例代码的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> 
+5

`RelativeLayout`is超过本法视图层次,IMO。 – 2012-12-07 08:37:54

5

你想附上一个scrollView

5

检查下面的示例布局文件

<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> 
2

下面的代码应该做的伎俩:

<?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" /> 

14

只要把你的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> 
0

滚动型自动添加如果它的内容比它的容量(当你在文本框输入像更突然滚动条显示出来时,你的文字大小小于其初始尺寸更大的滚动条。 但请注意,某些容器(例如,listview)自身具有滚动条,并且在将它们放入滚动视图时可能无法正常工作。

1

我用

<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 

和完美的作品