android - CardView 填充和圆角

标签 android xml android-layout android-cardview

我正在尝试向我的卡片 View 添加圆角和填充,当我有内容填充时圆角半径似乎不起作用。

这是我当前的 XML:

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/cardView"
    android:layout_width="71dp"
    android:layout_height="39dp"
    card_view:cardElevation="0dp"
    card_view:cardUseCompatPadding="false"
    card_view:cardPreventCornerOverlap="false"
    card_view:cardCornerRadius="7dp"
    card_view:contentPaddingLeft="4dp"
    card_view:contentPaddingRight="4dp">

    <TextView
        android:id="@+id/title"
        android:layout_width="71dp"
        android:layout_height="39dp"
        android:textColor="#ffffff"
        android:background="#FF9400"
        android:gravity="center" />
</android.support.v7.widget.CardView>

如果我删除内容填充,则角半径有效,但我需要两者。

有人有什么想法吗?我知道我可以将 cardUseCompatPadding 设置为 true,但是整个卡片都有填充,这会扰乱 TextView 。

编辑:

这是我目前的设计,以及我正在复制的设计:

enter image description here

最佳答案

如果这是一个水平的RecyclerView,添加一个ItemDecorator给它,让对象之间有一些间距。

SpaceItemDecorator itemDecorator = new SpacesItemDecorator(16)
mList.addItemDecoration(itemDecorator);

使用类似于此的 SpaceItemDecorator:

public class SpacesItemDecorator extends RecyclerView.ItemDecoration {

    private final int space;

    public SpacesItemDecorator(int spaceInPx) {
        this.space = spaceInPx;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, 
            RecyclerView.State state) {
        outRect.left = space;
        outRect.right = space;
    }
}

关于android - CardView 填充和圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35121307/

相关文章:

android - ActionLayout 不显示,只有它的标题可见

javascript - Android WebView不显示网站内容

android - Android源构建失败: undeclared identifier 'ftruncate'

java - 如何删除 Firebase 数据库数组中的项目?

c# - 为什么我得到 "The input is not a valid Base-64 string"异常

android - 如何在新的 MaterialComponents 中更改 ActionBar 的背景颜色

java - 房间一对多警告

java - 在 Jenkins 文件夹中的任何地方都找不到 config.xml

java - JAXB 按需解码

android - 在android上设置计算器按钮的布局