android 如何将 gridlayoutManager 的每一列的宽度设置为 wrapContent 不固定大小
how to set width of each column of gridlayoutManager to wrapContent not fixed size in android
我在 recyclerView
上使用 GridLayoutManager
。我想像这张图片一样显示我的列表,但我的输出不同。我想要一个 GridLayoutManager
,每一行都有不同的宽度取决于它的宽度。
binding.rcyHashtag.apply {
layoutManager = GridLayoutManager(requireContext(), 3)
adapter = simpleHashTagAdapter
}
<LinearLayout
android:id="@+id/lay_root"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:clickable="true"
android:background="@drawable/drw_bg_hashtag"
android:paddingEnd="2dp"
android:paddingStart="2dp"
android:layout_margin="2dp">
<TextView
android:id="@+id/txt_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:layout_gravity="center"
android:gravity="center"
android:textSize="12sp"
/>
我找到了解决办法。我只是将 StaggeredGridLayoutManager
用于 recyclerView
,如下所示:
binding.rcyHashtag.apply {
layoutManager = StaggeredGridLayoutManager( 3,StaggeredGridLayoutManager.HORIZONTAL)
adapter = simpleHashTagAdapter
}
我在 recyclerView
上使用 GridLayoutManager
。我想像这张图片一样显示我的列表,但我的输出不同。我想要一个 GridLayoutManager
,每一行都有不同的宽度取决于它的宽度。
binding.rcyHashtag.apply {
layoutManager = GridLayoutManager(requireContext(), 3)
adapter = simpleHashTagAdapter
}
<LinearLayout
android:id="@+id/lay_root"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:clickable="true"
android:background="@drawable/drw_bg_hashtag"
android:paddingEnd="2dp"
android:paddingStart="2dp"
android:layout_margin="2dp">
<TextView
android:id="@+id/txt_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:layout_gravity="center"
android:gravity="center"
android:textSize="12sp"
/>
我找到了解决办法。我只是将 StaggeredGridLayoutManager
用于 recyclerView
,如下所示:
binding.rcyHashtag.apply {
layoutManager = StaggeredGridLayoutManager( 3,StaggeredGridLayoutManager.HORIZONTAL)
adapter = simpleHashTagAdapter
}