Android中的ScrollView实现

时间:2013-07-18 06:08:05

标签: android android-layout android-listview android-xml

我是android.Wen的新手我在我的手机中运行这个apk文件,它运行并且我旋转为水平视图,它只显示半页,如果我尝试滚动,它不会滚动。我试过一个很多人使用ScrollView.It没有得到Implemented.the错误发生的是:“activity_main.xml:ScrollView只能托管一个直接的孩子”。有人建议我如何解决它?

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:text="LOGIN"
    android:textSize="30sp"
    android:textStyle="bold" />

<TextView
     android:id="@+id/textView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentLeft="true"
     android:layout_below="@+id/imageView1"
     android:layout_marginTop="49dp"
     android:text="Username"
     android:textSize="20sp" />

<TextView
     android:id="@+id/textView2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignLeft="@+id/textView1"
     android:layout_below="@+id/editText3"
     android:layout_marginTop="17dp"
     android:text="Password"
     android:textSize="20sp" />

 <TextView
     android:id="@+id/link_to_register"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_alignRight="@+id/button1"
     android:layout_below="@+id/button1"
     android:layout_marginTop="14dp"
     android:gravity="center"
     android:text="Forgot Password"
     android:textColor="#0b84aa"
     android:textSize="20dip" />



 <EditText
     android:id="@+id/editText1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/textView1"
     android:layout_marginTop="26dp"
     android:layout_toLeftOf="@+id/textView1"
     android:ems="10" >

     <requestFocus />
 </EditText>

 <EditText
     android:id="@+id/editText3"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_alignBottom="@+id/textView1"
     android:layout_alignLeft="@+id/editText4"
     android:ems="10"
     android:inputType="textEmailAddress" />

 <EditText
     android:id="@+id/editText2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/textView1"
     android:layout_marginTop="42dp"
     android:layout_toLeftOf="@+id/textView1"
     android:ems="10" />

 <EditText
     android:id="@+id/editText4"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_alignBaseline="@+id/textView2"
     android:layout_alignBottom="@+id/textView2"
     android:layout_alignParentRight="true"
     android:layout_marginLeft="100dp"
     android:ems="10"
     android:inputType="textPassword" />

 <Button
     android:id="@+id/button1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignLeft="@+id/editText3"
     android:layout_below="@+id/editText4"
     android:layout_marginTop="23dp"
     android:background="#9ACD32"
     android:text="Log In" />


 <ImageView
     android:id="@+id/imageView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignRight="@+id/textView1"
     android:layout_below="@+id/imageView2"
     android:scaleX="1.5"
     android:scaleY="1.5"
     android:src="@drawable/igs_login" />

 <ImageView
     android:id="@+id/imageView2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentTop="true"
     android:layout_marginTop="21dp"
     android:layout_toRightOf="@+id/button1"
     android:src="@drawable/igs" />

2 个答案:

答案 0 :(得分:0)

错误非常清楚ScrollView can host only one direct child。这意味着当您使用ScrollView时,您应该考虑创建一个包含所有视图的布局,并添加ScrollView作为其父级。例如:

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    //ADD YOUR VIEWS ONLY HERE

</RelativeLayout>
</ScrollView>

你的布局应该是这样的!除了RelativeLayout之外,您可以随时使用所需的布局,但请记住:All views should be added in one layout

答案 1 :(得分:0)

ScrollView只能托管一个子节点,例如RelativeLayout或LinearLayout(或任何其他View扩展VIewGroup,所以你的实现应该是这样的:

<ScrollView>
<LinearLayout>

   here you can put how many Views you need 


</LinearLayout>
</ScrollView>