Android Gridview - 线性layout_height被忽略

时间:2011-08-25 23:05:12

标签: android android-layout

根据对此问题的接受回答GridView row height,如果您......

  

“将LinearLayouts设置为某个特定高度,行将全部为该高度。”

这在我的案例中似乎不起作用。我有一个每行的布局文件:

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

    <ImageView 
        android:id="@+id/theimage"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal"
        android:background="#ffff0000" />

    <TextView 
        android:id="@+id/thename"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal"
        android:gravity="center"
        style="?icontext" 
        android:background="#ff00ff00"/>

</LinearLayout>

这些包含在Gridview中,如下所示:

<GridView android:id="@+id/gridview" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:numColumns="auto_fit" 
        android:columnWidth="100dp"
        android:background="@color/background" 
        android:verticalSpacing="1dp"
        android:horizontalSpacing="5dp" />

这会忽略'android:layout_height =“200dp”',而是将行高设置为单元格的内容。

更糟糕的是,当我的TextView包裹到第二行时,第二行被下一行单元格遮挡。

我错过了什么?

1 个答案:

答案 0 :(得分:9)

问题在以下问题中得到解决:Layout problem with button margin

android:layout_*属性为LayoutParams,属于父视图。因此,如果您未指定任何父级,它们将被忽略。