如何删除cardViews之间的空格?
这是我使用cardView的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
style="@style/ProductsCardViewStyle">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:padding="9dp"/>
<TextView
android:id="@+id/nameText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="name"
android:textColor="@android:color/black"
android:ellipsize="end"
android:minLines="2"
android:maxLines="2"
android:singleLine="false"/>
<TextView
android:id="@+id/amountText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="amount"
android:textColor="@android:color/black"
android:textStyle="bold" />
<Button
android:id="@+id/toBasket"
android:background="@drawable/round_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Купить" />
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
是风格。我将这个阶梯添加到我的cardView /我尝试更改cardElevation值,并且我使用cardElevation与负值 - 是错误的。我该如何更改此空格?
<style name="ProductsCardViewStyle" parent="Theme.AppCompat.Light">
<item name="cardCornerRadius">17dp</item>
<item name="cardElevation">1dp</item>
<item name="contentPaddingBottom">4dp</item>
<item name="contentPaddingTop">4dp</item>
<item name="contentPaddingLeft">4dp</item>
<item name="contentPaddingRight">4dp</item>
<item name="cardUseCompatPadding">true</item>
<item name="cardBackgroundColor">@color/products_item_color</item>
</style>
答案 0 :(得分:4)
从顶部的线性布局中移除android:padding="3dp"
或将其缩小..转到1dp
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="1dp" //reduce the space like this>
由于你的网格是水平的填充
所以,
1 dp 填充将在您的卡片之间留出总 2dp 空间。
答案 1 :(得分:0)
您可以在RecyclerView和android:padding
cardUseCompatPadding
cardUseCompatPadding
:在卡片视图周围添加空间,以防止卡片的父视图剪切卡片的阴影。
您可以使用
在预览窗口中查看结果<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layoutManager="android.support.v7.widget.GridLayoutManager"
tools:listitem="@layout/test_item"
tools:spanCount="2" />
另外请避免使用嵌套视图。更多信息 - https://android-developers.googleblog.com/2017/08/understanding-performance-benefits-of.html