2014-03-13 419 views
1

我做了一個可以正常工作的垂直滾動視圖的佈局,但我需要使用水平滾動視圖創建另一個。 我只是改變ScrollViewHorizontalScrollView爲什麼Horizo​​ntalScrollView不填充父項?

 <?xml version="1.0" encoding="utf-8"?> 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 

      <HorizontalScrollView 
       android:layout_weight="1" 
       android:scrollbars="none" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" > 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical" > 
       <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" > 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:layout_marginLeft="10dp" 
        android:text="@string/activity_visibilidade_cronologia_aula_subtitulo" 
        android:textSize="16dp" /> 

       <ImageButton 
        android:id="@+id/activity_visibilidade_cronologia_aula_btn_info" 
        android:layout_width="32dp" 
        android:layout_height="32dp" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="10dp" 
        android:background="@null" 
        android:scaleType="fitXY" 
        android:src="@drawable/btn_info" /> 
      </RelativeLayout> 

      <LinearLayout 
       android:id="@+id/activity_visibilidade_cronologia_aula_linear_conteudo" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" > 
      </LinearLayout> 

      <Button 
       android:id="@+id/activity_visibilidade_cronologia_aula_btn_confimar" 
       android:layout_width="165dp" 
       android:layout_height="35dp" 
       android:layout_centerVertical="true" 
       android:layout_gravity="right" 
       android:layout_marginBottom="10dp" 
       android:layout_marginRight="10dp" 
       android:layout_marginTop="10dp" 
       android:background="@drawable/botao_add_confirmar" 
       android:text="@string/dialogo_alterar_classe_confirmar" 
       android:textColor="@color/branco" /> 
     </LinearLayout> 
    </HorizontalScrollView> 

</LinearLayout> 

而其結果是:

enter image description here

爲什麼不HorizontalScrollView填補了父母,是有什麼錯嗎?

+0

您是否嘗試過使用WRAP_CONTENT?使用Horizo​​ntalScrollView的一點是它的子應該有更多的內容,然後是屏幕的大小,從而使它可以滾動。 – Slickelito

+0

您正在使用wrap_content代替match_parent。 –

+0

@Slickelito,我試過了,保持不工作。 – Rafael

回答

4

我解決了合併所有的建議和同樣使用android:fillViewport="true"我的最終代碼:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <include layout="@layout/layout_titulo_views" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="10dp" 
       android:text="@string/activity_visibilidade_cronologia_aula_subtitulo" 
       android:textSize="16dp" /> 

      <ImageButton 
       android:id="@+id/activity_visibilidade_cronologia_aula_btn_info" 
       android:layout_width="32dp" 
       android:layout_height="32dp" 
       android:layout_alignParentRight="true" 
       android:layout_marginRight="10dp" 
       android:background="@null" 
       android:scaleType="fitXY" 
       android:src="@drawable/btn_info" /> 
     </RelativeLayout> 

     <HorizontalScrollView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fillViewport="true" 
      android:scrollbars="horizontal" > 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" > 

       <LinearLayout 
        android:id="@+id/activity_visibilidade_cronologia_aula_linear_conteudo" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" > 
       </LinearLayout> 
      </LinearLayout> 
     </HorizontalScrollView> 

     <Button 
      android:id="@+id/activity_visibilidade_cronologia_aula_btn_confimar" 
      android:layout_width="165dp" 
      android:layout_height="35dp" 
      android:layout_centerVertical="true" 
      android:layout_gravity="right" 
      android:layout_marginBottom="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/botao_add_confirmar" 
      android:text="@string/dialogo_alterar_classe_confirmar" 
      android:textColor="@color/branco" /> 
    </LinearLayout> 

</LinearLayout> 

謝謝大家

1

我發現了這個問題。除了去除權重總和之外,還需要將線性佈局方向更改爲水平方向。

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" >