2014-03-13 36 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" >