2011-04-12 51 views
1

我想用以下格式的Android xml設計,但是它不起作用。Android上的滾動視圖中的絕對佈局

XML佈局:編碼

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout android:id="@+id/LinearLayout01" 
     android:layout_width="fill_parent" android:layout_height="fill_parent" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 
     <TableLayout android:id="@+id/widget836" 
      android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:orientation="vertical"> 
      <ImageView android:id="@+id/widget837" android:layout_width="wrap_content" 
       android:layout_height="wrap_content"> 
      </ImageView> 
     </TableLayout> 
     <ScrollView android:id="@+id/ScrollView111" 
      android:layout_width="fill_parent" android:layout_height="fill_parent"> 

      <AbsoluteLayout android:id="@+id/widget883" 
       android:layout_width="wrap_content" android:layout_height="wrap_content"> 

       <EditText android:id="@+id/email" android:layout_width="303px" 
        android:layout_height="56px" android:text="Email" android:textSize="18sp" 
        android:layout_x="1px" android:layout_y="15px"> 
       </EditText> 
       <EditText android:id="@+id/pass" android:layout_width="303px" 
        android:layout_height="56px" android:text="password" 
        android:textSize="18sp" android:layout_x="3px" android:layout_y="57px"> 
       </EditText> 

       <TextView android:id="@+id/enter" android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text="Enter an email address and password above, and your accout will be created." 
        android:layout_x="0px" android:layout_y="65px"> 
       </TextView> 
       <TextView android:id="@+id/primarydisplay" 
        android:layout_width="100px" android:layout_height="40px" 
        android:text="Primary Display" android:textStyle="bold" 
        android:layout_x="0px" android:layout_y="75px"> 
       </TextView> 
       <TextView android:id="@+id/gps" android:layout_width="100px" 
        android:layout_height="40px" android:text="Speed >" 
        android:textStyle="bold" android:layout_x="200px" android:layout_y="75px"> 
       </TextView> 
      </AbsoluteLayout> 
      <AbsoluteLayout android:id="@+id/widget884" 
       android:layout_width="wrap_content" android:layout_height="wrap_content"> 
       <TextView android:id="@+id/distanceunit" 
        android:layout_width="100px" android:layout_height="40px" 
        android:text="Distance Unit" android:textStyle="bold" 
        android:layout_x="0px" android:layout_y="85px"> 
       </TextView> 
       <TextView android:id="@+id/miles" android:layout_width="100px" 
        android:layout_height="40px" android:text="Miles >" 
        android:textStyle="bold" android:layout_x="200px" android:layout_y="85px"> 
       </TextView> 
      </AbsoluteLayout> 
     </ScrollView> 
    </LinearLayout> 

登錄貓錯誤:

產生的原因:java.lang.IllegalStateException:滾動型只能承載一個直接子

pleae指正。

+0

老兄,您可以在scrollview中只添加一個子視圖,因此只需將這兩個絕對佈局放入單個佈局中並將其添加到滾動視圖中即可。而已。 – 2011-04-12 14:58:18

+0

hi 如何將Absloute Layout合併爲一個。請糾正我 – 2011-04-12 16:35:10

+0

只是把這兩個佈局內一個linearlayout,然後將其添加滾動視圖內 – 2011-04-12 17:04:52

回答

1

您只能有一個Scrollview一個直接的子元素,所以您應該結合你的兩個AbsoluteLayout元素還是應該在其他元素將它們包裝如其他AbsoluteLayout元素。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/LinearLayout01" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <TableLayout android:id="@+id/widget836" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <ImageView android:id="@+id/widget837" android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
     </ImageView> 
    </TableLayout> 
    <ScrollView android:id="@+id/ScrollView111" 
     android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <!-- Wrap --> 
     <AbsoluteLayout 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 

      <AbsoluteLayout android:id="@+id/widget883" 
       android:layout_width="wrap_content" android:layout_height="wrap_content"> 

       <EditText android:id="@+id/email" android:layout_width="303px" 
       android:layout_height="56px" android:text="Email" android:textSize="18sp" 
       android:layout_x="1px" android:layout_y="15px"> 
       </EditText> 
       <EditText android:id="@+id/pass" android:layout_width="303px" 
       android:layout_height="56px" android:text="password" 
       android:textSize="18sp" android:layout_x="3px" android:layout_y="57px"> 
       </EditText> 

       <TextView android:id="@+id/enter" android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:text="Enter an email address and password above, and your accout will be created." 
       android:layout_x="0px" android:layout_y="65px"> 
       </TextView> 
       <TextView android:id="@+id/primarydisplay" 
       android:layout_width="100px" android:layout_height="40px" 
       android:text="Primary Display" android:textStyle="bold" 
       android:layout_x="0px" android:layout_y="75px"> 
       </TextView> 
       <TextView android:id="@+id/gps" android:layout_width="100px" 
       android:layout_height="40px" android:text="Speed >" 
       android:textStyle="bold" android:layout_x="200px" android:layout_y="75px"> 
       </TextView> 
      </AbsoluteLayout> 
      <AbsoluteLayout android:id="@+id/widget884" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"> 
       <TextView android:id="@+id/distanceunit" 
       android:layout_width="100px" android:layout_height="40px" 
       android:text="Distance Unit" android:textStyle="bold" 
       android:layout_x="0px" android:layout_y="85px"> 
       </TextView> 
       <TextView android:id="@+id/miles" android:layout_width="100px" 
       android:layout_height="40px" android:text="Miles >" 
       android:textStyle="bold" android:layout_x="200px" android:layout_y="85px"> 
       </TextView> 
      </AbsoluteLayout> 

     </AbsoluteLayout> 
     <!-- /Wrap --> 
    </ScrollView> 
</LinearLayout> 
+0

嗨 我得到了所有合併的上圖不顯示。如何將Absloute Layout合併爲一個?請糾正我。 – 2011-04-12 16:34:10

1

正如錯誤所述,ScrollView是爲單個子元素設計的。你的包含兩個AbsoluteLayout s。這些觀點可以合併嗎?

-1

爲什麼要使用兩個絕對佈局滾動視圖裏面我不清楚......

把它們放在一個單一的佈局

另外要注意的是,使用AbsoluteLayout的已棄用。嘗試使用相對或線性佈局來代替...

+0

,因爲我想按設計爲兩個絕對佈局繪製圓角矩形背景。 – 2011-04-13 03:57:54

+0

@murali爲什麼你需要一個滾動視圖.....你是否動態添加新的組件。 我之所以提到這是因爲你當前的xml組件會填滿屏幕,所以不需要scrollView – 2011-04-13 06:07:18

相關問題