2011-05-30 5 views
1

при использовании макета, показанного ниже, ScrollView не показывает, в то время как если я удалю RelativeLayout непосредственно перед этим деревом (@ id/top_bar), он показывает. Кто-нибудь может объяснить, почему?ScrollView не показывает

благодарит

июля

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/item_detail" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <RelativeLayout android:id="@+id/top_bar" 
     android:layout_width="fill_parent" android:layout_height="44dp" 
     android:background="@drawable/nav_bar"> 
     <ImageButton android:id="@+id/btn_map" 
      android:layout_width="34dp" android:layout_height="34dp" 
      android:src="@drawable/btn_map" 
      android:layout_centerVertical="true" 
      android:layout_alignParentRight="true" 
      android:layout_marginRight="10dp" /> 
     <TextView android:id="@+id/top_bar_title" 
      android:layout_width="200dp" android:layout_height="wrap_content" 
      android:layout_centerVertical="true" android:gravity="center" 
      android:textSize="16sp" android:textColor="#FFFFFF" 
      android:textStyle="bold" android:layout_marginLeft="60dp" /> 
    </RelativeLayout> 

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

     <LinearLayout android:layout_width="fill_parent" 
      android:layout_height="200dp"> 
      <RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="200dp"> 
       <ViewFlipper android:id="@+id/itemdetail_gallery" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"> 

       </ViewFlipper> 
       <RelativeLayout android:layout_width="fill_parent" 
        android:layout_height="fill_parent"> 
        <ImageView android:id="@+id/btn_gallery_prev" 
         android:layout_alignParentLeft="true" 
         android:layout_centerVertical="true" 
         android:src="@drawable/bg_diapo_left" 
         android:layout_marginLeft="5dp" 
         android:layout_width="30dp" 
         android:layout_height="50dp" android:visibility="gone" /> 
        <ImageView android:id="@+id/btn_gallery_next" 
         android:layout_alignParentRight="true" 
         android:layout_centerVertical="true" 
         android:src="@drawable/bg_diapo_right" 
         android:layout_marginRight="5dp" 
         android:layout_width="30dp" 
         android:layout_height="50dp" android:visibility="gone" /> 
        <TextView android:id="@+id/btn_gallery_ind" 
         android:layout_alignParentTop="true" 
         android:layout_alignParentRight="true" 
         android:layout_marginTop="5dp" 
         android:layout_marginRight="5dp" 
         android:background="@drawable/bg_diapo_ind" 
         android:gravity="center" android:layout_width="30dp" 
         android:layout_height="20dp" android:visibility="gone" /> 
       </RelativeLayout> 
      </RelativeLayout> 
     </LinearLayout> 
    </ScrollView> 

</LinearLayout> 

ответ

3

По умолчанию ориентация на LinearLayout находится в горизонтальном положении. ScrollView размещается рядом с RelativeLayout. Поскольку у вас есть android:layout_width="fill_parent", ваш ScrollView никогда не отображается. Если вы хотите, чтобы ваш макет был вертикальным, вам нужно установить так же. Попробуйте установить android:orientation="vertical" в LinearLayout.

Смежные вопросы