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 中,我隐藏了两个图像视图,然后在必要时显示它们。但是当我这样做时,GLSurfaceView 向右移动图像视图的宽度。

4

2 回答 2

0

这是因为,您使用LinearLayout的是horizontal方向。当你让你的 imageViews 可见时,这个 viewGroup 中的所有视图都将尝试水平适应。在这种情况下,如果您想进行定位,请使用RelativeLayoutwithalignParentBottom = 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 回答