1.6和2.2中的Android布局错误

问题描述

|| 我的布局文件中有一个奇怪的“错误”。我是Android的新手,所以也许我错过了一些东西。我将示例简化到最低限度,以简化您对问题的理解: 我有一个带有listadapter的简单列表,该列表应该显示一行文本并在其旁边显示一个图标。如果文字高于图标,则图标应垂直居中。 如果我省略属性“ center”,该示例将起作用(列表项具有正确的高度),但是一旦包含该属性,我将得到一个错误。 关于如何解决此问题的任何想法? (顺便说一句,我需要用tableLayout来拉伸列,不确定是否有其他方法可以实现) 该行的XML源如下所示:
<TableLayout
    xmlns:android=\"http://schemas.android.com/apk/res/android\"
    android:layout_width=\"fill_parent\"
    android:layout_height=\"wrap_content\"
    android:stretchColumns=\"1\">
<TableRow>

    <TextView
            android:height=\"30dp\"
            android:width=\"30dp\"
            android:background=\"@color/blue\"
            android:layout_gravity=\"center_vertical\"
            />

    <TextView
            android:layout_height=\"wrap_content\"
            android:text=\"TextView\"
            android:textSize=\"22dp\"
            android:layout_width=\"120dp\"
            android:layout_gravity=\"left\"
            android:background=\"@color/yellow\"
            android:id=\"@+id/simple_list_row_text1\"/>

</TableRow>
所需的结果(可在更高版本的android上正常运行,没有任何问题)是: 以及Android 1.6上的图片     

解决方法

给整个TableRow一个center_vertical重力。当然,将固定的宽度/高度从TextView移到TableRow,然后将TextView留给wrap_height     ,解决方法是:
 <LinearLayout
    xmlns:android=\"http://schemas.android.com/apk/res/android\"
    android:orientation=\"horizontal\" android:layout_width=\"fill_parent\"
    android:layout_height=\"wrap_content\">

<LinearLayout android:layout_width=\"wrap_content\"
              android:layout_height=\"fill_parent\"
              android:gravity=\"center\">

    <TextView
            android:layout_height=\"30dp\"
            android:layout_width=\"30dp\"
            android:background=\"@color/blue\"
            />
</LinearLayout>

<TextView
        android:layout_weight=\"1\"
        android:layout_height=\"wrap_content\"
        android:text=\"TextView\"
        android:textSize=\"22dp\"
        android:layout_width=\"120dp\"
        android:layout_gravity=\"left\"
        android:background=\"@color/yellow\"
        android:id=\"@+id/simple_list_row_text1\"/>