在recyclerview中设置项目的动态宽度和高度

时间:2016-08-18 17:05:20

标签: android android-recyclerview

我正在开发一个Android项目,其中Recyclerview使用gridlayoutmanger而项目是图片。我想在单行中显示四个项目,因此我将spancount设置为4,并且在每个项目Itemdecoration之间设置了2dp的差距。

ItemOffsetDecoration itemDecoration = new ItemOffsetDecoration(getContext(),R.dimen.offset);
fRecyclerView.addItemDecoration(itemDecoration);

GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(),4);

每个项目的高度和宽度目前为90dp。

Item.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imagevideo_layout"
>
<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/image_video_pic"
    android:scaleType="centerCrop"
    android:adjustViewBounds="true"
    />
 </RelativeLayout>

问题是因为我正在修复项目的高度和宽度,在某些设备中由于屏幕尺寸的差异,每个项目之间存在更大的差距。在某些设备中项目因屏幕尺寸较小而重叠。我只需要2dp所有屏幕尺寸只有4行单行。有没有办法做到这一点?是否可以根据屏幕大小动态设置relativelayout的高度和宽度?我搜索过SO,问题在于通过修复每个项目的高度和宽度来动态设置spancount,但我需要反过来。

0 个答案:

没有答案