2017-02-23 67 views
0

我正在製作新聞應用程序,或者沒有。我有與CardViews RecyclerView。當我啓動它時,每張卡片都會粘在其他卡片上,因此看起來像一張大卡片。我怎樣才能分開它?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

回答

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" > 
+0

ty,它有幫助。爲RelativeLayout添加保證金沒有解決問題,但CardView halped。非常感謝 –

+0

很高興我能幫上忙! – drawinfinity

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> 
0

爲了您的信息

是。您可以使用填充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