ScrollView не работает - относительное расположение - PullRequest
1 голос
/ 08 сентября 2011

Я пытаюсь обернуть реалистичное представление в виде прокрутки в соответствии с кодом ниже.Однако проблема в том, что представление не прокручивается, даже если часть представления находится за пределами экрана.Я тестирую это на эмуляторе.

<?xml version="1.0" encoding="UTF-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
 >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical"
> 
<TextView 
android:id="@+id/namedetail"
android:background="@drawable/backgroundstate"
android:layout_width="fill_parent"
android:gravity="center_vertical|center_horizontal" 
android:layout_height="50dip"
android:textColor="#FF000000"
android:textStyle="bold"
android:textSize="15sp"
android:typeface="sans" 
  />      
<ImageView android:id="@+id/picturedetail"
android:layout_width="175dip"
android:layout_height="175dip"
android:layout_below="@id/namedetail"
android:layout_marginLeft="75dip"
android:layout_marginTop="10dip"
/>
<ImageView android:id="@+id/infoboxdetail"
android:layout_width="225dip"
android:layout_height="100dip"
android:layout_marginLeft="50dip"
android:layout_marginTop="10dip"
android:layout_below="@id/picturedetail"
android:background="@drawable/backgroundstate"
/>
<TextView 
android:id="@+id/descriptiondetail"
android:background="@drawable/backgroundstate"
android:layout_width="fill_parent"
android:gravity="center_vertical|center_horizontal" 
android:layout_height="50dip"
android:textColor="#FF000000"
android:textStyle="bold"
android:textSize="15sp"
android:typeface="sans" 
android:layout_below="@id/infoboxdetail"
android:layout_marginTop ="10dip"
/>  
</RelativeLayout>
</ScrollView>

РЕДАКТИРОВАТЬ

ОК решено - глупость пользователя - нижнее текстовое поле было за экраном на моем мониторе, но не в эмуляторе.Если сделать его длиннее, теперь он прокручивается.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Ваш RelativeLayout равен horizontal, и вы используете ScrollView, попробуйте вместо него HorizontalScrollView.

0 голосов
/ 08 сентября 2011

Я считаю, что это потому, что RelativeLayout не растягивается в зависимости от содержимого. ScrollView заполнит экран, а затем RelativeLayout заполнит ScrollView. Размер RelativeLayout не изменится, если вы поместите в него виджеты.

Я бы попробовал использовать другой тип макета - возможно, TableLayout og комбинацию вложенных LinearLayout.

Есть ли какая-то конкретная причина, по которой вы используете RelativeLayout?

...