我试图在我的卡片视图中添加圆角和填充,当我有内容填充时,角半径似乎不起作用.
这是我目前的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; } }