3
我需要爲所有控件添加漣漪效果,以增加應用程序的活力。由於我的最低api級別爲18,所以我無法在可繪製的xml中使用<ripple>
。我所有的控件也都可以自定義爲XML。自定義可繪製xml的漣漪效應?
我的自定義繪製對象的控制
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp"/>
<solid android:color="@color/border1"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp"/>
<corners android:radius="15dp"/>
<solid android:color="@color/border2"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp"/>
<corners android:radius="15dp"/>
<solid android:color="@color/border3"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp"/>
<corners android:radius="15dp"/>
<solid android:color="@color/border4"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp"/>
<corners android:radius="15dp"/>
<solid android:color="@color/border5"/>
</shape>
</item>
<!-- Background -->
<item>
<shape>
<solid android:color="@color/menu_bg"/>
<corners android:radius="15dp"/>
</shape>
</item>
</layer-list>
如果我使用android:background="?attr/selectableItemBackgroundBorderless"
控制連鎖反應效果很好。但問題是,我有我的所有控件的自定義背景,所以我無法使用attr/selectableItemBackgroundBorderless。
如何使用自定義可繪製背景的attr/selectableItemBackgroundBorderless?我不想用框架佈局或任何其他佈局包裹控件.. 還有其他方法嗎?
等待迴應,在此先感謝