android布局与自动scrollview

时间:2012-04-27 09:31:44

标签: android

我在我的android main.xml文件中有以下内容.. 当我运行它时显示一些异常,但在图形视图的main.xml中它没有显示任何错误..
以下是我在Linearlayout中的代码

      <ScrollView android:id="@+id/ScrollView01" 
        android:layout_width="fill_parent" 
        android:layout_height="match_parent">

          <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_gravity="top"
            android:layout_height="match_parent">       

              <TextView android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:layout_gravity="center"
                       android:text="UserName"/>

               <EditText android:id="@+id/username"
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:text=""/>                              
           <Button
               android:id="@+id/login_button"
               android:layout_width="60dp"
               android:layout_height="30dp"
               android:text="login"/>
        </LinearLayout>

         <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_gravity="top"
            android:layout_height="match_parent">       

              <TextView android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:layout_gravity="center"
                       android:text=""/>

               <EditText android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:text=""/>                              
           <Button
               android:layout_width="60dp"
               android:layout_height="30dp"
               android:text="@string/login_btn"/>
        </LinearLayout>
    </ScrollView>

6 个答案:

答案 0 :(得分:2)

ScrollView应该只有一个孩子。

答案 1 :(得分:1)

ScrollViews只能包含一个子视图。将两个LinearLayouts包装在另一个LinearLayout中。

您还将两个线性布局高度设置为match_parent。这在滚动视图中不起作用。它们都应设置为wrap_content

答案 2 :(得分:1)

尝试使用此xml来解决您的问题

<LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
   <ScrollView android:id="@+id/ScrollView01" 
        android:layout_width="fill_parent" 
        android:layout_height="match_parent">

          <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_gravity="top"
            android:layout_height="match_parent">       

              <TextView android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:layout_gravity="center"
                       android:text="UserName"/>

               <EditText android:id="@+id/username"
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:text=""/>                              
           <Button
               android:id="@+id/login_button"
               android:layout_width="60dp"
               android:layout_height="30dp"
               android:text="login"/>
        </LinearLayout>

         <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_gravity="top"
            android:layout_height="match_parent">       

              <TextView android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:layout_gravity="center"
                       android:text=""/>

               <EditText android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:text=""/>                              
           <Button
               android:layout_width="60dp"
               android:layout_height="30dp"
               android:text="@string/login_btn"/>
        </LinearLayout>
    </ScrollView>
 </LinearLayout>

感谢您提供更多详情,请点击此链接Can we use a ScrollView inside a LinearLayout?

答案 3 :(得分:1)

滚动视图只能包含一个直接子项

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="match_parent" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_gravity="top"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_gravity="top"
        android:orientation="vertical" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="UserName" />

        <EditText
            android:id="@+id/username"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="" />

        <Button
            android:id="@+id/login_button"
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:text="login" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_gravity="top"
        android:orientation="vertical" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="" />

        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="" />

        <Button
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:text="@string/login_btn" />
    </LinearLayout>
</LinearLayout>  </ScrollView>

答案 4 :(得分:1)

ScrollView应该只有一个孩子。在你的例子中你已经在scrollview中放置了2个线性布局,这导致了错误。    将2个线性布局放在1个线性布局中,并将整个内容放在scrollview中。它会工作..

    <ScrollView android:id="@+id/ScrollView01" 
        android:layout_width="fill_parent" 
        android:layout_height="match_parent">
             <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_gravity="top"
            android:layout_height="match_parent">  
                      <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="fill_parent"
                        android:layout_gravity="top"
                        android:layout_height="match_parent">       

                          <TextView android:layout_width="fill_parent"
                                   android:layout_height="wrap_content"
                                   android:layout_gravity="center"
                                   android:text="@string/UserNameText"/>

                           <EditText
                                   android:id="@+id/username"
                                   android:layout_width="fill_parent"
                                   android:layout_height="wrap_content"
                                   android:text="@string/UserNameText"/>                              
                       <Button
                           android:id="@+id/login_button"
                           android:layout_width="60dp"
                           android:layout_height="30dp"
                           android:text="@string/login_btn"/>
                    </LinearLayout>

                     <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="fill_parent"
                        android:layout_gravity="top"
                        android:layout_height="match_parent">       

                          <TextView android:layout_width="fill_parent"
                                   android:layout_height="wrap_content"
                                   android:layout_gravity="center"
                                   android:text="@string/UserNameText"/>

                           <EditText
                                   android:id="@+id/username"
                                   android:layout_width="fill_parent"
                                   android:layout_height="wrap_content"
                                   android:text="@string/UserNameText"/>                              
                       <Button
                           android:id="@+id/login_button"
                           android:layout_width="60dp"
                           android:layout_height="30dp"
                           android:text="@string/login_btn"/>
                    </LinearLayout>
        </LinearLayout>
    </ScrollView>

答案 5 :(得分:0)

ScrollView应该只有一个孩子。