Android 在棒棒糖前的设备上使用CardView的空白区域
我试图在应用程序的某些视图中添加舍入和阴影,并利用卡片视图库来实现这一点。它在棒棒糖设备上看起来不错,但我遇到了与任何棒棒糖前产品的兼容性问题 首先,我要说的是,我已经查看了以下问题的答案,但发现没有一个对我有用Android 在棒棒糖前的设备上使用CardView的空白区域,android,material-design,android-cardview,Android,Material Design,Android Cardview,我试图在应用程序的某些视图中添加舍入和阴影,并利用卡片视图库来实现这一点。它在棒棒糖设备上看起来不错,但我遇到了与任何棒棒糖前产品的兼容性问题 首先,我要说的是,我已经查看了以下问题的答案,但发现没有一个对我有用 最流行的答案是添加属性“cardPreventOverlap=false”,但这会删除圆角。我尝试过这个标志和“cardUseCompatPadding=”true“的变体,但它们似乎都没有奏效。还有其他人遇到过同样的问题吗 我的代码: <android.support
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
card_view:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:layout_width="44dp"
android:layout_height="match_parent"
android:layout_marginRight="4dp"
android:background="@color/mid_yellow"
android:padding="0dp"
android:src="@drawable/ic_add_white_24dp" />
<TextView
style="@style/Text.Primary.White"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="Button" />
</LinearLayout>
4.4.2中的代码显示为:
使用“cardPreventOverlap=false”时:
更新不幸的是,我们无法解决该问题;考虑到该应用程序只有很小的安装基础pre5.0,我们认为这并不重要。最后,我们使用了第三个选项“cardPreventOverlap=false”。而不是使用card\u view:cardCornerRadius
您可以使用可绘制的设置cardview的背景
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<corners android:radius="4dip"/>
</shape>
例如,您的+按钮
将其与cardUseCompatPadding=“true”
内容剪辑结合使用不受支持,因为在较旧的设备上,内容剪辑非常昂贵。如果你愿意,你可以使用。它有自己的CardView实现,可以正确地将内容剪辑到圆角。Carbon还为所有其他布局添加内容剪辑和立面,因此,出于您的目的,您可以使用带有圆角和阴影的线性布局。如图所示:
恐怕这不会让它看起来有什么不同。如果每个元素都是一个形状,那么“是”更改每个形状上的角并使用cardPreventCornerOverlap=“false”将起作用,但是在我需要它的某些位置也有图像和其他视图,我无法更改这些角。但是您可以将其放在线性布局上
否?使用透明背景色和负片填充也可以,因为改变线性布局的背景不会影响其子级。正方形的孩子们仍然会被放在左上角,以覆盖线性布局的背景;我也希望孩子们都是圆的,所有的孩子都是用棒棒糖圆的。
<corners
android:topLeftRadius="4dp"
android:bottomLeftRadius="4dp"/>