为什么LinearLayout看起来像这样(元素之间的空白区域)?

时间:2012-01-18 10:43:56

标签: android android-layout android-linearlayout

这是基本的XML文件

<?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"
              android:background="@color/white"
        >
    <!--top part-->
    <include layout="@layout/top" android:layout_width="fill_parent"
             android:layout_height="0dp" android:layout_weight="1"/>

    <!--content area-->
    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="5"
            android:background="#ff6600"
            >

    </LinearLayout>

    <!--bottom part-->
    <include layout="@layout/bottom" android:layout_width="fill_parent"
             android:layout_height="0dp" android:layout_weight="1"/>
</LinearLayout>

当我在模拟器中加载它时,它看起来如下图所示。

Weird display

我做错了什么?


编辑

这是顶级和底层XML。基本也是。

<?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"
        >
    <ImageView
            android:id="@+id/bottom_image"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:adjustViewBounds="true"
            android:src="@drawable/bottom"
            />
</LinearLayout>
-----------------------------------------------------------
<?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"
        >
    <ImageView
            android:id="@+id/top_image"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:adjustViewBounds="true"
            android:src="@drawable/top"
            />

3 个答案:

答案 0 :(得分:6)

请尝试以下

Top.xml

<?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="wrap_content"
          android:id="@+id/top"
    >
<ImageView
        android:id="@+id/top_image"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:adjustViewBounds="true"
        android:src="@drawable/top"
        android:scaleType="fitXY"/>
</LinearLayout>

Bottom.xml

<?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="wrap_content"
          android:id="@+id/bottom"
    >
<ImageView
        android:id="@+id/bottom_image"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:adjustViewBounds="true"
        android:src="@drawable/bottom"
        android:scaleType="fitXY"/>
</LinearLayout>

最后是Main.xml

<?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"
          android:background="#000000"
    >
<!--top part-->
<include layout="@layout/top" android:layout_width="fill_parent"
         android:layout_height="wrap_content"/>

<!--content area-->
<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#ff6600"
        >

</LinearLayout>

<!--bottom part-->
<include layout="@layout/bottom" android:layout_width="fill_parent"
         android:layout_height="wrap_content"/>
</LinearLayout>

这将解决您的问题

答案 1 :(得分:0)

在真正的智能手机上?还有空间吗? 您是否拥有最新版本的SDK平台工具?

答案 2 :(得分:0)

检查layout_bottom和layout_top定义。很可能这些布局设置了marginTop和marginBottom。