RecyclerView项目相互贴合

时间:2017-02-23 03:09:37

标签: android

我正在制作新闻申请,或者是smth。我有带CardViews的RecyclerView。当我推出它时,每张卡都贴在其他卡上,所以它看起来像一张大牌。我怎么能分开呢?

卡:

<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="16dp">

    <com.facebook.drawee.view.SimpleDraweeView
        fresco:placeholderImage="@drawable/my_drawable"
        android:id="@+id/markPhoto"
        android:layout_width="130dp"
        android:layout_height="130dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="16dp" />

    <TextView
        android:id="@+id/x"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/markPhoto" />

    <TextView
        android:id="@+id/y"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/x"
        android:layout_toRightOf="@+id/markPhoto" />

</RelativeLayout>
</android.support.v7.widget.CardView>

RecyclerView:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    </android.support.v7.widget.RecyclerView>
</LinearLayout>

屏幕看起来就是这样 enter image description here

3 个答案:

答案 0 :(得分:1)

为RelativeLayout添加保证金

    <android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="16dp"
        android:layout_margin="10dp">

        <com.facebook.drawee.view.SimpleDraweeView
            fresco:placeholderImage="@drawable/my_drawable"
            android:id="@+id/markPhoto"
            android:layout_width="130dp"
            android:layout_height="130dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="16dp" />
            .
            .
            .
    </RelativeLayout>
    </android.support.v7.widget.CardView>

答案 1 :(得分:1)

填充会在元素内部添加空间,边距会增加外部空间。我会尝试将android:layout_marginBottom="4dp"添加到您的CardView。

<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_marginBottom="4dp" >

答案 2 :(得分:0)

供您参考

  

是。你可以使用padding nice.But它是很棒的,如果你自定义   cardView

添加

card_view:cardCornerRadius="4dp" //for corner radius
android:layout_margin="5dp"         //for separating views

你可以添加边框。试试这个

drawable文件夹中创建bg.xml并粘贴此代码。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#F00" />
    <size android:width="10dp"/>

    <corners android:topLeftRadius="5dp" android:bottomLeftRadius="5dp"
        android:topRightRadius="0.1dp" android:bottomRightRadius="0.1dp"/>
</shape>

android:background="@drawable/bg"添加到您的卡片视图

参考this

enter image description here