根据对此问题的接受回答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包裹到第二行时,第二行被下一行单元格遮挡。
我错过了什么?
答案 0 :(得分:9)
问题在以下问题中得到解决:Layout problem with button margin
android:layout_*
属性为LayoutParams
,属于父视图。因此,如果您未指定任何父级,它们将被忽略。