Android布局 - 图像将视图推开

时间:2012-06-04 14:08:45

标签: android android-layout layout imageview

这是我的布局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向右移动以获得图像视图的宽度。

2 个答案:

答案 0 :(得分:0)

这是因为您使用LinearLayout horizontal方向。当您使imageViews可见时,此viewGroup中的所有视图都将尝试水平放置。在这种情况下,如果您想进行定位,请将RelativeLayoutalignParentBottom = true

一起使用

答案 1 :(得分:0)

您的父布局是线性布局,其方向是

 android:orientation="horizontal"

这将始终处于水平位置

|    |  
view1 view2....
|    |

将其更改为“android:orientation =”vertical“

那么你的观点应该是

view 1
view 2
.
.