RelativeLayout scrollview

时间:2011-01-11 12:39:12

标签: android android-layout

我有一个带有几个文本框和编辑框的应用程序。该应用程序工作正常,但当我尝试添加scrollview元素以查看应用程序的下半部分时,应用程序强行关闭。

我的代码是:

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout  
     xmlns:android="http://schemas.android.com/apk/res/android"  
     android:layout_height="fill_parent"  
     android:layout_width="fill_parent"> 

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

    <TextView  
         android:id="@+id/EditText01"  
         android:text="@string/type1"  
         android:layout_alignParentLeft="true"  
         android:layout_width="fill_parent"
         android:textSize="20sp"  
         android:layout_toLeftOf="@+id/Button01"  
         android:layout_height="wrap_content"></TextView>
     <EditText 
         android:id="@+id/Button01"  
         android:layout_width="100sp"  
         android:layout_alignParentRight="true"  
         android:layout_height="wrap_content"></EditText>

      <TextView  
         android:id="@+id/EditText02"  
         android:text="@string/type2"  
         android:layout_alignParentLeft="true"  
         android:layout_below="@id/EditText01"
         android:layout_width="fill_parent"  
         android:textSize="20sp"
         android:layout_toLeftOf="@+id/Button01"  
         android:layout_height="wrap_content"></TextView>
     <EditText 
         android:id="@+id/Button02"  
         android:layout_width="100sp"   
         android:layout_alignParentRight="true"  
         android:layout_below="@id/Button01"
         android:layout_height="wrap_content"></EditText>   

     <TextView  
         android:id="@+id/EditText03"  
         android:text="@string/type3"  
         android:layout_alignParentLeft="true"  
         android:layout_below="@id/EditText02"
         android:layout_width="fill_parent"  
         android:textSize="20sp"
         android:layout_toLeftOf="@+id/Button01"  
         android:layout_height="wrap_content"></TextView>
     <EditText 
         android:id="@+id/Button03"  
         android:layout_width="100sp"   
         android:layout_alignParentRight="true"  
         android:layout_below="@id/Button02"
         android:layout_height="wrap_content"></EditText>     

      <TextView  
         android:id="@+id/EditText04"  
         android:text="@string/property"  
         android:layout_below="@id/EditText03"
         android:layout_width="fill_parent"  
         android:textSize="20sp"
         android:layout_height="wrap_content"></TextView>     
       <Spinner 
        android:id="@+id/spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/Button03"
        android:prompt="@string/property"></Spinner>

        <TextView
          android:id="@+id/EditText05"
          android:text="@string/propage"
          android:layout_below="@id/spinner"
              android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_height="wrap_content"></TextView>  
        <Spinner
          android:id="@+id/widget"
          android:layout_width="fill_parent"
          android:layout_height="50sp"
          android:layout_below="@+id/EditText05"
          android:prompt="@string/propage"></Spinner>

          <TextView
          android:id="@+id/EditText06"
          android:text="@string/income"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/widget"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/Button04" 
          android:layout_height="wrap_content"></TextView>   
          <EditText 
          android:id="@+id/Button04"  
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"  
          android:layout_below="@id/widget"
          android:layout_height="wrap_content"></EditText>  

          <TextView
          android:id="@+id/EditText07"
          android:text="@string/borrow"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/EditText06"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/Button05" 
          android:layout_height="wrap_content"></TextView>   
          <EditText 
          android:id="@+id/Button05"  
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"  
          android:layout_below="@id/Button04"
          android:layout_height="wrap_content"></EditText>  

          <TextView
          android:id="@+id/EditText08"
          android:text="@string/interest"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/EditText07"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/Button06" 
          android:layout_height="wrap_content"></TextView>   
          <EditText 
          android:id="@+id/Button06"  
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"
          android:layout_below="@id/Button05"
          android:layout_height="wrap_content"></EditText>

          <Button
          android:id="@+id/Button07"
          android:layout_height="wrap_content"
          android:layout_width="wrap_content"
          android:text="@string/self_destruct"
          android:layout_below="@+id/EditText08"
          android:onClick="selfDestruct" />

          <TextView
          android:id="@+id/EditText09"
          android:text="@string/output1"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/Button07"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/Button10" 
          android:layout_height="wrap_content"></TextView>   
          <TextView 
          android:id="@+id/EditText10"  
          android:text="@string/output2"
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"
          android:layout_below="@id/Button07"
          android:layout_toRightOf="@+id/EditText09"
          android:layout_height="wrap_content"></TextView>

          <TextView
          android:id="@+id/EditText11"
          android:text="@string/output3"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/EditText09"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/EditText12" 
          android:layout_height="wrap_content"></TextView>   
          <TextView 
          android:id="@+id/EditText12" 
          android:text="@string/output4" 
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"
          android:layout_below="@id/EditText10"
          android:layout_height="wrap_content"></TextView>

          <TextView
          android:id="@+id/EditText13"
          android:text="@string/output5"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/EditText11"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/EditText14" 
          android:layout_height="wrap_content"></TextView>   
          <TextView 
          android:id="@+id/EditText14"  
          android:text="@string/output6"
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"
          android:layout_below="@id/EditText12"
          android:layout_height="wrap_content"></TextView>

          <TextView
          android:id="@+id/EditText15"
          android:text="@string/output7"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/EditText13"
          android:layout_width="fill_parent"
          android:textSize="20sp"
          android:layout_toLeftOf="@+id/Button16" 
          android:layout_height="wrap_content"></TextView>   
          <TextView 
          android:id="@+id/EditText16"  
          android:text="@string/output8"
          android:layout_width="100sp"   
          android:layout_alignParentRight="true"
          android:layout_below="@id/EditText14"
          android:layout_height="wrap_content"></TextView>


     </ScrollView>

     </RelativeLayout>

请帮忙。提前谢谢。

3 个答案:

答案 0 :(得分:16)

使用以下格式

 <ScrollView>   

    <RelativeLayout> 
               // Use textviews used above here
    </RelativeLayout> 

 </ScrollView>  

答案 1 :(得分:10)

据我所知,滚动视图只能有一个孩子。因此,您需要将所有视图放在LinearLayout或其他内容中,并将其添加到scrollview中。

来自http://developer.android.com/reference/android/widget/ScrollView.html

  

ScrollView是一个FrameLayout,意思是   你应该把一个孩子放进去   包含整个内容   滚动;这个孩子本身可能是一个   布局管理器与复杂   对象的层次结构。一个孩子   经常使用的是一个LinearLayout   垂直方向,呈现一个   垂直数组的顶级项目   用户可以滚动浏览。

答案 2 :(得分:0)

您必须定义空文本视图...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:id="@+id/back"
    android:paddingRight="10dp"
    tools:context=".TaxActivity" >

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

<ScrollView 
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/tv1" >
,...