2012-01-29 5 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 не видно! Но я не знаю, как это сделать. Я попытался добавить scrollview, но я получил ошибку: scrollview может содержать только одного прямого ребенка! У вас есть подсказки для меня?

Заранее благодарим за вашу помощь!

+0

вы можете показать нам свой файл XML с Scrollview добавлен, потому что насколько я вижу, он должен работать с помощью scrollview, может быть лет u только сделал недосмотр – joni

ответ

41

ScrollView ожидает один вид ребенка и в макете у вас есть 2 TextView. Чтобы сделать работу ScrollView, вы должны обернуть свой TextView в ViewGroup как LinearLayout или RelativeLayout.

Edited код:

<?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, когда пользователь коснется экрана ... Я просто не знаю, как это сделать><" –

+0

@JohnSmith Я отредактировал свой ответ, так что у вас в' ScrollView' последний 'RelativeLayout 'thirdRectangle.Я не понимаю, что вы пытаетесь сделать: переместите (как именно« переместить ») relativeLayout (который RelativeLayout?), когда пользователь коснется экрана. Не могли бы вы объяснить? – Luksprog

+0

Ну, мой последний relativeLayout (потому что макет больше экрана экрана!) И я не могу прокрутить вниз ... Android не делает это автоматически? –

3

Возьмите этот код прямо над вы хотите прокрутки, чтобы начать:

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

Тогда в конечном итоге, если вы хотите, чтобы остановить его.

3

С 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

Ваш последний 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> 
Смежные вопросы