0

主要思想是 FrameLayout(黑色)居中,LinearLayout(红色)在底部对齐。这在我的 4.x 模拟器和我的 Galaxy Nexus 上完美运行。像这样:

良好的布局

在 Eclipse ADT 中,所有尺寸的布局预览看起来都很好。然而,当在 2.1 模拟器上运行时,FrameLayout (Black) 似乎向下移动。

布局错误

我得到了以下布局:

<merge xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity" >

    <FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" >

        <LinearLayout
            android:layout_width="300dp"
            android:layout_height="200dp"
            android:layout_marginBottom="70dp"
            android:background="#000000" >

        </LinearLayout>
    </FrameLayout>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="70dp"
        android:layout_gravity="bottom|center"
        android:background="#FF0000"
        android:orientation="horizontal" >

    </LinearLayout>

</merge>

有人知道是什么原因造成的吗?

4

1 回答 1

1

这应该有效:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:orientation="vertical" >

     <LinearLayout
         android:layout_width="fill_parent"
         android:layout_height="0dip"
         android:layout_weight="1" >

         <LinearLayout
             android:layout_width="300dp"
             android:layout_height="200dp"
             android:background="#000000" />
     </LinearLayout>

     <LinearLayout
         android:layout_width="fill_parent"
         android:layout_height="70dp"
         android:layout_gravity="bottom"
         android:background="#FF0000" />

</LinearLayout>
于 2012-12-30T12:26:11.480 回答