-1

水平スクロールビューが画面の全幅を占め、その子ビューが中央に配置されるようにします。これまでのところ、私は子供たちをラップするだけで終わり、すべてが整列されたままになっています。私の見解は次のようになります。

<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 は何もしないようで、重力を適用しても効果がないように見えます。これは、fill_parent を幅として設定しているにもかかわらず、コンテンツがラッピングされているためと思われます。

4

1 に答える 1

-2

私は自分の問題を理解しましたが、それはxmlに関係のないものになりました。Horizo​​ntalScrollView の内容を膨らませていたという事実です。その後、親に fill_parent を正しく表示させたい場合は、request_layout を介して再度強制的にレイアウトする必要があります。そうしないと、正しいサイズが得られません。

于 2013-02-11T21:28:52.200 に答える