2012-01-29 42 views
13

我有以下佈局:的RelativeLayout - 向下滾動

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    android:id="@+navigate/RLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#ABABAB" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textStyle="bold" 
     android:id="@+id/myid" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/myid" 
     android:layout_marginTop="15dp" />. 
    <RelativeLayout android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="10dp" 
     android:orientation="vertical" 
     android:id="@+id/firstRectangle" 
     android:background="@drawable/bg" 
     android:layout_below="@+id/myid" > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textStyle="bold|italic" 
     android:textColor="#000000" 
     android:id="@+id/hotelinfos" 
     android:layout_marginTop="10dp" 
     android:layout_marginLeft="10dp" 
     android:layout_below="@+id/myid" 
     android:layout_alignLeft="@+id/myid"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textStyle="bold" 
     android:textColor="#000000" 
     android:id="@+id/hotelname" 
     android:layout_below="@+id/hotelinfos" 
     android:layout_alignLeft="@+id/hotelinfos" 
     android:layout_marginTop="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/hoteladdress" 
     android:layout_below="@+id/hotelname" 
     android:layout_alignLeft="@+id/hotelname" 
     android:layout_marginTop="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:id="@+id/hotelphone" 
     android:layout_below="@+id/hoteladdress" 
     android:layout_alignLeft="@+id/hoteladdress" 
     android:layout_marginTop="10dp" 
     android:textColor="#12C" 
     android:textStyle="bold|italic" 
     android:onClick="onClick" 
     android:clickable="true" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#12C" 
     android:onClick="onClick" 
     android:clickable="true" 
     android:textStyle="bold|italic" 
     android:id="@+id/hotelemail" 
     android:layout_below="@+id/hotelphone" 
     android:layout_alignLeft="@+id/hotelphone" 
     android:layout_marginTop="10dp" 
     android:paddingBottom="10dp" /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/picture" 
     android:layout_below="@+id/myid" 
     android:layout_alignParentRight="true" 
     android:layout_marginRight="10dp"  
     android:layout_marginTop="10dp"/> 
    </RelativeLayout> 
    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="10dp" 
     android:orientation="vertical" 
     android:id="@+id/SecondRectangle" 
     android:background="@drawable/bg" 
     android:layout_below="@+id/firstRectangle" > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:textStyle="bold|italic" 
     android:id="@+id/bookinginfos" 
     android:layout_below="@+id/firstRectangle" 
     android:layout_alignLeft="@+id/firstRectangle" 
     android:layout_marginLeft="10dp" 
     android:layout_marginTop="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/pnr" 
     android:layout_below="@+id/bookinginfos" 
     android:layout_alignLeft="@+id/bookinginfos" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/segmentCode" 
     android:layout_below="@+id/pnr" 
     android:layout_alignLeft="@+id/pnr" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/checkin" 
     android:layout_below="@+id/segmentCode" 
     android:layout_alignLeft="@+id/segmentCode" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/checkout" 
     android:layout_below="@+id/checkin" 
     android:layout_alignLeft="@+id/checkin" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/nights"  
     android:layout_below="@+id/checkout" 
     android:layout_alignLeft="@+id/checkout" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/roomType" 
     android:layout_below="@+id/nights" 
     android:layout_alignLeft="@+id/nights" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/boardBasis" 
     android:layout_below="@+id/roomType" 
     android:layout_alignLeft="@+id/roomType" 
     android:layout_marginRight="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/paxNames" 
     android:layout_below="@+id/boardBasis" 
     android:layout_alignLeft="@+id/boardBasis" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" 
     android:paddingBottom="10dp" /> 
    </RelativeLayout> 
    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="10dp" 
     android:orientation="vertical" 
     android:id="@+id/thirdRectangle" 
     android:background="@drawable/bg" 
     android:layout_below="@+id/SecondRectangle" > 
      <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:textStyle="bold|italic" 
     android:id="@+id/forHotel" 
     android:layout_below="@+id/SecondRectangle" 
     android:layout_alignLeft="@+id/SecondRectangle" 
     android:layout_marginLeft="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/supplierCode" 
     android:layout_below="@+id/forHotel" 
     android:layout_alignLeft="@+id/forHotel" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" 
     android:paddingBottom="10dp"/> 
     </ScrollView> 

    </RelativeLayout> 
</RelativeLayout> 

我想在這個佈局中滾動因爲RelativeLayout的最後一部分是不可見的! 但我不知道該怎麼做。 我試圖添加一個滾動視圖,但我得到的錯誤:滾動視圖可以只託管一個直接的孩子! 您有任何提示嗎?

在此先感謝您的幫助!

+0

你能告訴我們滾動視圖XML文件補充說,因爲據我所知,它應該使用滾動視圖,也許喲你只是做了一個疏忽 – joni 2012-01-29 14:07:34

回答

41

ScrollView預計單個子視圖和佈局你有2 TextView。 爲了讓你有來包裝你TextView在的ViewGroup像LinearLayoutRelativeLayoutScrollView工作。

編輯的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> 
<RelativeLayout 
    android:id="@+navigate/RLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#ABABAB" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
// ... THE REST OF YOUR CODE 
</RelativeLayout> 
</ScrollView> 
+0

嗨slukian!事實上,我不確定ScrollView是否適合我。 我想在RelativeLayout的移動,當用戶觸摸屏幕... 我只是不知道如何做到這一點><」 – 2012-01-29 14:27:20

+0

@JohnSmith我編輯我的答案,所以你必須在'ScrollView'最後'的RelativeLayout 'thirdRectangle我不明白你正在嘗試做的:在移動(究竟是如何「移入」)中的RelativeLayout(其中RelativeLayout的?),當用戶觸摸屏幕時,你能解釋一下 – Luksprog 2012-01-29 14:44:06

+0

好了,我最後RelativeLayout的是?牆根(因爲佈局是比手機屏幕大!) ,我不能向下滾動網頁... Android不這樣做自動? – 2012-01-29 17:27:13

3

把這個代碼就在你想要的滾動開始:

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

然後,當你想停止它結束了。

3

由於scrollview只能有一個孩子,孩子可以是任何layout。在LinearLayoutRelativeLayout。所以它應該是這樣的。 <ScrollView><RelativeLayout></RelativeLayout></ScrollView>

你的代碼最終會這樣

<RelativeLayout 
android:id="@+navigate/RLayout" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#ABABAB" 
xmlns:android="http://schemas.android.com/apk/res/android" 
> 

<ScrollView> 
android:id="@+navigate/Scrollview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<RelativeLayout 
android:id="@+navigate/RLayout02" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 

> 
<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textStyle="bold" 
    android:id="@+id/hcorpo" 
    android:layout_centerHorizontal="true" 
    android:src="@drawable/hcorpo" 
    android:layout_marginTop="15dp" />. 
<RelativeLayout android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_margin="10dp" 
    android:orientation="vertical" 
    android:id="@+id/firstRectangle" 
    android:background="@drawable/bg" 
    android:layout_below="@+id/hcorpo" > 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textStyle="bold|italic" 
    android:textColor="#000000" 
    android:id="@+id/hotelinfos" 
    android:layout_marginTop="10dp" 
    android:layout_marginLeft="10dp" 
    android:layout_below="@+id/hcorpo" 
    android:layout_alignLeft="@+id/hcorpo"/> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textStyle="bold" 
    android:textColor="#000000" 
    android:id="@+id/hotelname" 
    android:layout_below="@+id/hotelinfos" 
    android:layout_alignLeft="@+id/hotelinfos" 
    android:layout_marginTop="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/hoteladdress" 
    android:layout_below="@+id/hotelname" 
    android:layout_alignLeft="@+id/hotelname" 
    android:layout_marginTop="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:id="@+id/hotelphone" 
    android:layout_below="@+id/hoteladdress" 
    android:layout_alignLeft="@+id/hoteladdress" 
    android:layout_marginTop="10dp" 
    android:textColor="#12C" 
    android:textStyle="bold|italic" 
    android:onClick="onClick" 
    android:clickable="true" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#12C" 
    android:onClick="onClick" 
    android:clickable="true" 
    android:textStyle="bold|italic" 
    android:id="@+id/hotelemail" 
    android:layout_below="@+id/hotelphone" 
    android:layout_alignLeft="@+id/hotelphone" 
    android:layout_marginTop="10dp" 
    android:paddingBottom="10dp" /> 
<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/picture" 
    android:layout_below="@+id/hcorpo" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="10dp"  
    android:layout_marginTop="10dp"/> 
</RelativeLayout> 
<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_margin="10dp" 
    android:orientation="vertical" 
    android:id="@+id/SecondRectangle" 
    android:background="@drawable/bg" 
    android:layout_below="@+id/firstRectangle" > 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:textStyle="bold|italic" 
    android:id="@+id/bookinginfos" 
    android:layout_below="@+id/firstRectangle" 
    android:layout_alignLeft="@+id/firstRectangle" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/pnr" 
    android:layout_below="@+id/bookinginfos" 
    android:layout_alignLeft="@+id/bookinginfos" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/segmentCode" 
    android:layout_below="@+id/pnr" 
    android:layout_alignLeft="@+id/pnr" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/checkin" 
    android:layout_below="@+id/segmentCode" 
    android:layout_alignLeft="@+id/segmentCode" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/checkout" 
    android:layout_below="@+id/checkin" 
    android:layout_alignLeft="@+id/checkin" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/nights"  
    android:layout_below="@+id/checkout" 
    android:layout_alignLeft="@+id/checkout" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/roomType" 
    android:layout_below="@+id/nights" 
    android:layout_alignLeft="@+id/nights" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/boardBasis" 
    android:layout_below="@+id/roomType" 
    android:layout_alignLeft="@+id/roomType" 
    android:layout_marginRight="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/paxNames" 
    android:layout_below="@+id/boardBasis" 
    android:layout_alignLeft="@+id/boardBasis" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="10dp" 
    android:paddingBottom="10dp" /> 
</RelativeLayout> 
<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_margin="10dp" 
    android:orientation="vertical" 
    android:id="@+id/thirdRectangle" 
    android:background="@drawable/bg" 
    android:layout_below="@+id/SecondRectangle" > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:textStyle="bold|italic" 
    android:id="@+id/forHotel" 
    android:layout_below="@+id/SecondRectangle" 
    android:layout_alignLeft="@+id/SecondRectangle" 
    android:layout_marginLeft="10dp" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="10dp" 
    android:textColor="#000000" 
    android:id="@+id/supplierCode" 
    android:layout_below="@+id/forHotel" 
    android:layout_alignLeft="@+id/forHotel" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="10dp" 
    android:paddingBottom="10dp"/> 


</RelativeLayout> 
</RelativeLayout> 

</ScrollView> 

</RelativeLayout> 
3

你最後RelativeLayout

<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="10dp" 
     android:orientation="vertical" 
     android:id="@+id/thirdRectangle" 
     android:background="@drawable/bg" 
     android:layout_below="@+id/SecondRectangle" > 
      <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:textStyle="bold|italic" 
     android:id="@+id/forHotel" 
     android:layout_below="@+id/SecondRectangle" 
     android:layout_alignLeft="@+id/SecondRectangle" 
     android:layout_marginLeft="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/supplierCode" 
     android:layout_below="@+id/forHotel" 
     android:layout_alignLeft="@+id/forHotel" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" 
     android:paddingBottom="10dp"/> 
     </ScrollView> 

    </RelativeLayout> 

應該是這樣的,而不是:

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> 
<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="10dp" 
     android:orientation="vertical" 
     android:id="@+id/thirdRectangle" 
     android:background="@drawable/bg" 
     android:layout_below="@+id/SecondRectangle" > 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:textStyle="bold|italic" 
     android:id="@+id/forHotel" 
     android:layout_below="@+id/SecondRectangle" 
     android:layout_alignLeft="@+id/SecondRectangle" 
     android:layout_marginLeft="10dp" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="10dp" 
     android:textColor="#000000" 
     android:id="@+id/supplierCode" 
     android:layout_below="@+id/forHotel" 
     android:layout_alignLeft="@+id/forHotel" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" 
     android:paddingBottom="10dp"/> 

    </RelativeLayout> 
</ScrollView>