2

我想在適配器中的cardview之間留出一些相等的空間。如何在卡片視圖中水平和垂直放置相等的空間

如何把這樣的一些空間?

enter image description here

這裏是我的XML

<?xml version="1.0" encoding="utf-8"?> 

<android.support.v7.widget.CardView 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    card_view:cardBackgroundColor="@color/White" 
    card_view:cardCornerRadius="4dp" 
    card_view:cardElevation="2dp" 
    card_view:cardUseCompatPadding="true" 
    card_view:contentPadding="4dp"> 
.... 

與上面的代碼我得到這樣的..

enter image description here

有人可以幫我嗎?

+0

你應該給你的cardLayout保證金:保證金:「4DP」和記標高必須小於保證金,即如果margrin =「4DP」除高程=「2DP」。如果問題仍然存在,則將cardview放在框架佈局中。 –

+0

您是否使用RecyclerView顯示項目? – ajantha

回答

-1

將您的CardView換算爲LinearLayout並將padding屬性設置爲LinearLayout

-1

檢查cheesesquare如下方式使用代碼(在你的情況下,recycleview項目佈局使用)

enter image description here

<android.support.v7.widget.CardView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="10dip"> 

        <LinearLayout 
         android:id="@+id/relativeLayout1" 
         style="@style/Widget.CardContent" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:gravity="center_horizontal" 
         android:orientation="vertical"> 
         // add your content here! 
        </LinearLayout> 
       </android.support.v7.widget.CardView> 

Widget.CardContent

<style name="Widget.CardContent" parent="android:Widget"> 
     <item name="android:paddingLeft">10dp</item> 
     <item name="android:paddingRight">10dp</item> 
     <item name="android:paddingTop">12dp</item> 
     <item name="android:paddingBottom">12dp</item> 
     <item name="android:orientation">vertical</item> 
    </style> 
+0

這並沒有回答這個問題 - 我現在正在查看Cheesesquare示例應用程序,並且XML佈局顯示每張卡片都是硬編碼的(每個CardView內都應用了相應的邊距),而不是通過RecyclerView渲染卡片。 – DaveNOTDavid

0

使用RecyclerView.Adapter的getItemViewType()函數與單獨的視圖持有人組成他們各自的利潤率可以工作,但得到超級混亂,當談到乙查找數據,尤其是處理Play商店應用(您在文章中分享的屏幕截圖)等輸入事件,因爲每個查看者在實現點擊事件接口時都會有自己的邊距。

這就是說,我遇到的唯一理想,簡潔的解決方案是充分利用ItemDecoration類,在這裏您可以相應地將偏移量(在我們的例子中爲邊距)應用於每個充氣列表項目,然後添加它到您的RecyclerView。如文檔中所述:

ItemDecoration允許應用程序從適配器的數據集中爲特定的項目視圖添加特殊的圖形和佈局偏移。這對於在項目之間繪製分隔線,突出顯示,視覺分組邊界等等非常有用。

可以找到示例實現here

相關問題