web-dev-qa-db-ja.com

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>

相対レイアウトの最後の部分が表示されないため、このレイアウトでスクロールしたいと思います。しかし、私はそれを行う方法がわかりません。スクロールビューを追加しようとしましたが、エラーが発生しました。スクロールビューは直接の子を1つしかホストできません。何かアドバイスはありますか?

よろしくお願いします!

14
John Smith

ScrollViewは単一の子ビューを想定しており、レイアウトには2つのTextViewがあります。 ScrollViewを機能させるには、TextViewLinearLayoutのようなViewGroupでRelativeLayoutをラップする必要があります。

編集されたコード:

<?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>
42
Luksprog

このコードをすぐに実行して、スクロールを開始します。

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

それからあなたがそれを止めたいときで終わります。

3
Daniel

scrollviewは子しか持てないため、子は任意のlayoutにすることができます。 LinearLayoutまたはRelativeLayoutにいる。だから、このようなものでなければなりません。 <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
Hend

最後の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>
3
TryTryAgain