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

相关问题