出于某种原因,我的CardView仅显示网格视图中的第一行图像。 (或者我的GridView只显示第一行 - 我无法告诉)。
我正在动态地将图像添加到gridView并使用gridAdapter.notifyDataSetChanged()
。也许这就是为什么CardView的高度不适应?当我添加android:layout_height =" 500dp"到了CardView,然后我看到了我的所有图片。
有没有办法让CardView包装内容所以我可以看到我的所有图像(除了硬编码高度)?
请注意,我无法硬编码高度,因为照片的行数是动态的。
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="2dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/m_photos" />
<GridView
android:id="@+id/m_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:clickable="true"
android:columnWidth="90dp"
android:drawSelectorOnTop="true"
android:focusable="true"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="none"
android:verticalSpacing="2dp" />
</LinearLayout>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
我几天前遇到过这个问题。对于这种情况,Wrap_content不能正常工作。所以在固定dp中使用布局高度并使用维度。它适用于我的情况。
<GridView
android:id="@+id/m_grid"
android:layout_width="match_parent"
android:layout_height="@dimen/gvHeight"
android:layout_margin="2dp"
android:clickable="true"
android:columnWidth="90dp"
android:drawSelectorOnTop="true"
android:focusable="true"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="none"
android:verticalSpacing="2dp" />