我想用 CardView 重新创建下面的图像。为了实现这一点,我创建了一个渐变文件 (btn_gradient.xml),然后继续创建 CardView。
CardView实现:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_margin="25dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardPreventCornerOverlap="false">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="@drawable/btn_gradient"
android:text="Create Account"
android:textColor="#000000"
android:textStyle="bold"
android:textAllCaps="false"/>
</android.support.v7.widget.CardView>
这样一切都工作正常,除了半径消失这不是我想要的。有没有办法可以直接在 CardView 上设置渐变?这cardBackgroundColor
属性仅接受颜色,不接受可绘制对象。
任何帮助,将不胜感激。
附录:
根据要求,这是我的 btn_gradient.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="linear"
android:angle="0"
android:startColor="#ffc200"
android:endColor="#fca10b" />
</shape>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp"
app:cardCornerRadius="@dimen/_10sdp"
app:cardElevation="@dimen/_1sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/gradient_16"
android:padding="@dimen/_6sdp">
</LinearLayout>
</androidx.cardview.widget.CardView>
和梯度就像
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#5B86E5"
android:endColor="#36D1DC"
android:angle="180" />
<corners
android:radius="10dp">
</corners>
</shape>
CardView卡片半径和渐变半径应该是相同的尺寸
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)