[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效果

讲解

  1. android:color 是水波纹的颜色,就是触摸的时候会显示颜色。
  2. <item>是ripple默认显示的drawable,没有触摸的时候会默认显示。
  3. <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显示在椭圆内效果
上一篇下一篇

猜你喜欢

热点阅读