我想要咔嗒效果和我的cardview边框,我有两个xml文件 一个用于边框,另一个用于riple效果,所以我如何在我的cardview上设置为背景
这是我的代码
shape.xml(V17)
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="1dp" android:color="#1B5E20" />
<corners android:radius="2dp"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>
ripple.xml(V21)
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item
android:id="@android:id/mask"
android:drawable="@android:color/white">
</item>
</ripple>
这是我的cardview,我想把两件事放在一起..
cardview.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
android:layout_marginTop="10dp"
android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:background="@drawable/shape"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<TextView
android:textColor="#000"
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textSize="20sp" />
</RelativeLayout>
</android.support.v7.widget.CardView>
如何将两个文件设置在一起bcz不支持布局中的两个背景。帮助我,PLZ。
答案 0 :(得分:2)
使用layer-list执行此操作。 cardview_style.xml
<?xml version="1.0" encoding="UTF-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<stroke android:width="1dp" android:color="#1B5E20" />
<corners android:radius="2dp"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>
</item>
<item>
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item
android:id="@android:id/mask"
android:drawable="@android:color/white"></item>
</ripple>
</item>
然后将以下文件添加到背景属性。
答案 1 :(得分:1)
使用图层列表创建一个新的XML并在其中添加形状和波纹
答案 2 :(得分:1)
就像Iulian Popescu所说,你可以使用图层列表,这似乎是最好的选择。但是如果你坚持要将xmls分开保存,那么你总是可以使用canvas将它们合并到你的代码中。 如果要使用此技术,请使用此主题: