[Android] Ripple效果应用在按钮上
2020-05-11 本文已影响0人
轻记事APP
记录
今天在测试做完的界面上,发现了某些按钮样式比较单调,点击的时候没有任何响应,实在是很生硬,于是加入ripple效果提升用户体验。
ripple.xml
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/hint_gray">
<item android:drawable="@drawable/shape_round_blue" />
</ripple>
正常ripple效果
讲解
- android:color 是水波纹的颜色,就是触摸的时候会显示颜色。
- <item>是ripple默认显示的drawable,没有触摸的时候会默认显示。
- <item>可以有多个,其中可以设置一个id为R.id.mask的遮罩层(可以限制水波纹的显示)。
mask的遮罩效果(显示为椭圆并限制水波纹显示范围)
<!-- mask_shape.xml -->
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorAccent" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/hint_gray">
<item android:drawable="@drawable/shape_round_blue" />
<item
android:id="@android:id/mask"
android:drawable="@drawable/mask_shape">
</item>
</ripple>
ripple显示在椭圆内效果