设置RecyclerView项目的最小宽度

时间:2015-09-21 12:00:37

标签: android android-recyclerview

我正在尝试使用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" />

1 个答案:

答案 0 :(得分:1)

要完成它,我只需用编号* 300

以编程方式更改Recycler View的miniumwidth
GridLayoutManager manager = new GridLayoutManager(ActividadesColectivasPlazasActivity.this, columnas);
mRecyclerView.setMinimumWidth(columnas*300);