2013-02-11 56 views
-2

我想要一个水平滚动视图占据屏幕的整个宽度并使其子视图居中。到目前为止,我最终只是围绕孩子们,一切都是左对齐的。我的看法是这样的:强制Horizo​​ntalScrollView占用全宽和居中儿童

<HorizontalScrollView 
    android:id="@+id/mainMenu" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:background="#CD000000" 
    android:fillViewport="true" 
    android:gravity="center_horizontal" 
    android:scrollbars="none" > 

</HorizontalScrollView> 

里面,我们膨胀的东西,看起来像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="horizontal"> 

<LinearLayout 
     android:id="@+id/mode_panzoom" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:paddingBottom="5dip" 
     android:paddingLeft="5dip" 
     android:paddingRight="5dip" 
     android:minWidth="75dip" 
     android:gravity="center_horizontal"> 

    <ImageView 
      android:src="@drawable/ic_pan" 
      android:layout_width="25dip" 
      android:layout_height="wrap_content" 
      android:text="@string/mode_panzoom" 
      android:scaleType="centerInside"/> 

</LinearLayout> 

<LinearLayout 
     android:id="@+id/mode_annotate" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:paddingBottom="5dip" 
     android:paddingLeft="5dip" 
     android:paddingRight="5dip" 
     android:minWidth="75dip" 
     android:gravity="center_horizontal"> 
    <ImageView 
      android:src="@drawable/ic_annotate" 
      android:layout_width="25dip" 
      android:layout_height="wrap_content" 
      android:text="@string/mode_panzoom"/> 

</LinearLayout> 

<LinearLayout 
     android:id="@+id/mode_measure" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:paddingBottom="5dip" 
     android:paddingLeft="5dip" 
     android:paddingRight="5dip" 
     android:minWidth="75dip" 
     android:gravity="center_horizontal"> 
    <ImageView 
      android:src="@drawable/ic_measure" 
      android:layout_width="25dip" 
      android:layout_height="wrap_content" 
      android:text="@string/mode_panzoom" 
      android:gravity="center"/> 

</LinearLayout> 

fillviewport似乎做什么,以及应用比重seeems没有任何效果,可能因为它的包装内容,即使我设置fill_parent作为宽度。

+2

你能给我们截图,看它在hierachyviewer中的样子吗? – ajma 2013-02-11 20:44:13

回答

-2

我想出了我的问题,它最终没有涉及到XML。这是事实,我正在膨胀Horizo​​ntalScrollView的内容。之后,如果你想要你的父母正确fill_parent你需要强制它通过request_layout布局。否则它不会得到正确的大小。

+0

你能分享代码片段吗? – 2015-03-13 15:36:40

相关问题