2015-10-08 24 views
0

我使用的是RecyclerView與CardViews內,我想刪除RecyclerView內的兒童卡之間留下的邊距/填充/間距。我怎樣才能做到這一點? 這裏是我的CardView:安卓:刪除的上方和下方CardViews的間距在RecyclerView

<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/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    card_view:cardUseCompatPadding="false"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:orientation="horizontal"> 

     <!--status lock--> 
     <ImageView 
      android:id="@+id/imageField" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_margin="20dp" /> 

     <!--text info section--> 
     <LinearLayout 
      android:id="@+id/textInfo" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <!--NAME--> 
      <TextView 
       android:id="@+id/nameField" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="item name" 
       android:gravity="center_vertical" 
       android:textSize="@dimen/abc_text_size_large_material" /> 

      <!--category--> 
      <TextView 
       android:id="@+id/categoryField" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:lines="1" 
       android:maxLines="1" 
       android:text="category" 
       android:textSize="@dimen/abc_text_size_small_material" /> 

      <!--working hours--> 
      <LinearLayout 
       android:id="@+id/workingHours" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:lines="1" 
       android:maxLines="1" 
       android:orientation="horizontal"> 

       <ImageView 
        android:id="@+id/workingHoursIcon" 
        android:layout_width="15dp" 
        android:layout_height="15dp" 
        android:layout_gravity="center_vertical" 
        android:background="@drawable/ic_clock" 
        android:padding="50dp"></ImageView> 

       <TextView 
        android:id="@+id/WHStart" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingLeft="5dp" /> 

       <TextView 
        android:id="@+id/dash" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingLeft="5dp" 
        android:text=" - " /> 

       <TextView 
        android:id="@+id/WHEnd" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:lines="1" 
        android:maxLines="1" 
        android:paddingLeft="5dp" /> 

      </LinearLayout> 

      <!--message--> 
      <LinearLayout 
       android:id="@+id/messageSection" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"> 

       <ImageView 
        android:id="@+id/messageIcon" 
        android:layout_width="15dp" 
        android:layout_height="15dp" 
        android:layout_gravity="center_vertical" 
        android:background="@drawable/ic_message" 
        android:padding="50dp" /> 

       <TextView 
        android:id="@+id/message" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:lines="1" 
        android:maxLines="1" 
        android:paddingLeft="5dp" 
        android:text="No Message" /> 
      </LinearLayout> 

     </LinearLayout> 

     <!--add to favorite button--> 
     <ImageButton 
      android:id="@+id/btn_add_to_favorite_list" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginEnd="20dp" 
      android:layout_marginLeft="48dp" 
      android:layout_marginRight="20dp" 
      android:layout_marginStart="48dp" 
      android:background="@drawable/ic_star_gray" /> 

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

而且我RecyclerView:

<android.support.v7.widget.RecyclerView 
      android:id="@+id/my_recycler_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/my_store" 
      android:scrollbars="vertical" /> 

下面是截圖:

enter image description here

+0

你能後的問題的屏幕截圖? –

+0

如果你不想卡之間的空間,爲什麼不使用不使用CardView佈局/視圖設置?改爲使用FrameLayout。 – emerssso

+0

@DoubleElite新增 –

回答

0

檢查它是否是保證金或填充(開發選項/節目佈局界限)

CardView增加PADD在L之前的API級別顯示陰影。在L中,除非您設置useCompatPadding = true,否則不應該有任何差距。

添加負邊距(雖然很醜)應該可以工作。

這可能會實現

card_view:contentPaddingLeft="-3dp" 
card_view:contentPaddingRight="-3dp" 
card_view:contentPaddingTop="-3dp" 
card_view:contentPaddingBottom="-3dp" 
+0

它沒有工作:( –

0

試試這個:

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

<android.support.v7.widget.CardView 
android:id="@+id/card_view" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
app:cardUseCompatPadding="false"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:orientation="horizontal"> 

    <!--status lock--> 
    <ImageView 
     android:id="@+id/imageField" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:layout_margin="20dp" /> 

    <!--text info section--> 
    <LinearLayout 
     android:id="@+id/textInfo" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:orientation="vertical"> 

     <!--NAME--> 
     <TextView 
      android:id="@+id/nameField" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="item name" 
      android:gravity="center_vertical" 
      android:textSize="@dimen/abc_text_size_large_material" /> 

     <!--category--> 
     <TextView 
      android:id="@+id/categoryField" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:lines="1" 
      android:maxLines="1" 
      android:text="category" 
      android:textSize="@dimen/abc_text_size_small_material" /> 

     <!--working hours--> 
     <LinearLayout 
      android:id="@+id/workingHours" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:lines="1" 
      android:maxLines="1" 
      android:orientation="horizontal"> 

      <ImageView 
       android:id="@+id/workingHoursIcon" 
       android:layout_width="15dp" 
       android:layout_height="15dp" 
       android:layout_gravity="center_vertical" 
       android:background="@drawable/ic_clock" 
       android:padding="50dp"></ImageView> 

      <TextView 
       android:id="@+id/WHStart" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" /> 

      <TextView 
       android:id="@+id/dash" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingLeft="5dp" 
       android:text=" - " /> 

      <TextView 
       android:id="@+id/WHEnd" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:lines="1" 
       android:maxLines="1" 
       android:paddingLeft="5dp" /> 

     </LinearLayout> 

     <!--message--> 
     <LinearLayout 
      android:id="@+id/messageSection" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 

      <ImageView 
       android:id="@+id/messageIcon" 
       android:layout_width="15dp" 
       android:layout_height="15dp" 
       android:layout_gravity="center_vertical" 
       android:background="@drawable/ic_message" 
       android:padding="50dp" /> 

      <TextView 
       android:id="@+id/message" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:lines="1" 
       android:maxLines="1" 
       android:paddingLeft="5dp" 
       android:text="No Message" /> 
     </LinearLayout> 

    </LinearLayout> 

    <!--add to favorite button--> 
    <ImageButton 
     android:id="@+id/btn_add_to_favorite_list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginEnd="20dp" 
     android:layout_marginLeft="48dp" 
     android:layout_marginRight="20dp" 
     android:layout_marginStart="48dp" 
     android:background="@drawable/ic_star_gray" /> 

</LinearLayout> 

+0

沒有工作,這是我的初始設置,但我意識到它是無用的,所以我得到了它的紅色:( –

+0

你需要設置compatPadding爲false,如果不工作嘗試設置android:padding =「0dp」到CardView外部的LinearLayout –

0

這可能是你正在尋找CardView inside RecyclerView has extra margins

另外,如果你並不想繼續您應該簡單地爲您的空間使用LinearLayout適配器佈局完全取消了CardView,應該這樣做。

希望有所幫助。