这是我的布局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向右移动以获得图像视图的宽度。
答案 0 :(得分:0)
这是因为您使用LinearLayout
horizontal
方向。当您使imageViews可见时,此viewGroup中的所有视图都将尝试水平放置。在这种情况下,如果您想进行定位,请将RelativeLayout
与alignParentBottom = true
答案 1 :(得分:0)
您的父布局是线性布局,其方向是
android:orientation="horizontal"
这将始终处于水平位置
| |
view1 view2....
| |
将其更改为“android:orientation =”vertical“
那么你的观点应该是
view 1
view 2
.
.