android – CardView填充和圆角

前端之家收集整理的这篇文章主要介绍了android – CardView填充和圆角前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在我的卡片视图中添加圆角和填充,当我有内容填充时,角半径似乎不起作用.

这是我目前的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,但是整张卡片都有填充,这与文本视图混淆.

编辑:

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

解决方法

如果这是一个水平的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/308716.html

猜你在找的Android相关文章