RecyclerView中的居中卡

时间:2018-07-12 16:18:55

标签: android android-recyclerview android-cardview cardview

这个问题很简单,我在RecyclerView中使用了一个CardView,它使用了两列的GridLayout。

enter image description here

颜色只是为了易于查看组件...
白色是LinearLayout
蓝色是RecyclerView
绿色是CardView

我希望卡片在视图中居中,并在边缘留有一定的余量...但是我无法实现,与我做什么无关紧要。 (这就是我想要的,用油漆制作的)

this is what i want

如果不可能的话,我可以将卡片与边缘对齐,然后在其间留有余量

enter image description here

代码在这里:

这是CardView:

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cardView"
    android:layout_width="@dimen/influencerCardSize"
    android:layout_height="@dimen/influencerCardSize"
    android:layout_gravity="center"
    android:layout_marginBottom="@dimen/smallMargin"
    card_view:cardBackgroundColor="@android:color/holo_green_dark"
    card_view:cardElevation="0dp"
    card_view:layout_anchorGravity="center_horizontal">

这是RecyclerView

 <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="@dimen/influencersViewHeight"
            android:layout_gravity="center"
            android:layout_margin="@dimen/smallMargin"

            android:background="@android:color/holo_blue_bright"
            android:scrollbars="vertical"
            android:visibility="visible" />

1 个答案:

答案 0 :(得分:0)

尝试让您在线性布局中查看名片

赞:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        android:layout_margin="10dp"
        android:id="@+id/cardView"
        card_view:cardBackgroundColor="@android:color/holo_green_dark"
        android:layout_width="match_parent"
        android:layout_height="150dp"
    </android.support.v7.widget.CardView>

</LinearLayout>

您的RecyclerView看起来不错。

然后,如果每行只需要两张卡片,请尝试使用AutoFitGridLayoutManager进行回收者视图

赞:

AutoFitGridLayoutManager layoutManager  =  new AutoFitGridLayoutManager(context, width);
  recyclerView.setLayoutManager(layoutManager)