我正在开发一个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
,但我需要反过来。