0

これは私のレイアウトXMLです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_screen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/back"
    android:baselineAligned="false"
    android:gravity="center_vertical"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/bottleImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_margin="10dp"
        android:src="@drawable/icon_food_milk" />

    <ImageView
        android:id="@+id/diaperImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_margin="10dp"
        android:src="@drawable/icon_store_diaper" />

    <android.opengl.GLSurfaceView
        android:id="@+id/glview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_marginTop="60dp"
        android:windowIsTranslucent="true" />

</LinearLayout>

アプリケーションonCreateで、両方のimageviewを非表示にしてから、必要に応じてそれらを表示します。しかし、そうすると、GLSurfaceViewはimageviewの幅に対して右に移動します。

4

2 に答える 2

0

これは、オリエンテーションで使用LinearLayoutしているためです。horizontalimageViewsを表示すると、このviewGroupのすべてのビューが水平方向に収まります。この場合、位置を修正したい場合はRelativeLayoutalignParentBottom = true

于 2012-06-04T14:15:19.150 に答える
0

親レイアウトは線形レイアウトであり、その向きは

 android:orientation="horizontal"

これは常に水平位置になります

|    |  
view1 view2....
|    |

これを`android:orientation="vertical"に変更します

その後、あなたの見解は

view 1
view 2
.
.
于 2012-06-04T14:16:39.157 に答える