我正在尝试使用GridManagerLayout设置RecyclerView项目的最小宽度
如果我每行放5件物品看起来不错,但是当我每行放20件物品时,物品的大小就像20 dp,但我希望它至少是120 dp,我怎么能这样做?
GridLayoutManager manager = new GridLayoutManager(ActividadesColectivasPlazasActivity.this, columnas);
adapter = new PlazasAdapter(ctx, listaPlazas);
mRecyclerView.setLayoutManager(manager);
mRecyclerView.setHasFixedSize(true);
布局
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/app_bar">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<view
android:layout_width="wrap_content"
android:layout_height="fill_parent"
class="android.support.v7.widget.RecyclerView"
android:layout_marginTop="10dp"
android:minWidth="500dp"
android:id="@+id/recycler_view" />
</LinearLayout>
</HorizontalScrollView>
适配器xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="80dp"
android:minWidth="120dp"
android:background="@drawable/fondo_stroke_gris"
android:orientation="vertical"
android:gravity="center"
tools:context="com.psapp_provisport.activity.MenuActivity" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/imagen"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:src="@drawable/ic_launcher"/>
<ProgressBar
android:id="@+id/pb1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:visibility="invisible" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:gravity="center"
android:id="@+id/nombre" />
答案 0 :(得分:1)
要完成它,我只需用编号* 300
以编程方式更改Recycler View的miniumwidthGridLayoutManager manager = new GridLayoutManager(ActividadesColectivasPlazasActivity.this, columnas);
mRecyclerView.setMinimumWidth(columnas*300);