ListView的自定义单元格与API9中的父宽度不匹配

时间:2013-05-09 08:42:27

标签: android android-layout android-listview android-arrayadapter

问题与API有某种关系。在API 9+中,单元格看起来很完美,就像这样

enter image description here

但是在Android 2.3上看起来像这样: enter image description here

我找不到理由。这是我的单元格布局:

<LinearLayout
    android:id="@+id/cell_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="5dp"
    android:background="@drawable/rounded_cell"
    android:orientation="vertical"
    android:padding="5dp" >

    ...content here
</LinearLayout>

列表片段布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/light_gray" >
    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#00000000"
        android:paddingTop="5dp" >
    </ListView>
</FrameLayout>

问题肯定在布局中,因为即使在Eclipse中的布局编辑器中它也显示错误。如何使它适用于所有API的9 +?

1 个答案:

答案 0 :(得分:2)

天哪啊。它始终是血腥的FrameLayout。我得到了你的建议。不要使用FrameLayout。即使你认为它适合,也不要。它会造成大量麻烦。例如,当我将主要布局从FrameLayout更改为LinearLayout时,它完美无缺!