RecylerView在更改布局宽度和高度后不再渲染图像

时间:2018-04-14 07:20:37

标签: android android-layout

我有 RecyclerView

CellType type = map.gridArray[finalCol][finalRow].getValue();
square.getStyleClass().remove(type.getStyleClass());
type = type.inverted();
map.gridArray[finalCol][finalRow].setValue(type);
square.getStyleClass().add(type.getStyleClass());

// are the following lines really necessary?
map.gridArray[finalCol][finalRow].setTier(finalRow);
map.gridArray[finalCol][finalRow].setColumn(finalCol);

如果我将高度从 match_parent 更改为 wrap_content ,它将无法显示图像,但不会显示图像。

MainActivity布局

 <android.support.v7.widget.RecyclerView
    android:id="@+id/rcView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</android.support.v7.widget.RecyclerView>

Recylerview项目布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<android.support.v7.widget.RecyclerView
    android:id="@+id/rcView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</android.support.v7.widget.RecyclerView>

1 个答案:

答案 0 :(得分:1)

最后找到解决方案,它是ImageView的 AdjustViewBounds 属性。将它设置为true后,我可以按照我想要的方式调整 recycler_view_item 的高度和宽度。

以下是 recycler_view_item 的修订代码。

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
    android:adjustViewBounds="true"
    android:layout_margin="1dp"
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" /> </RelativeLayout>

link也很有帮助。