Material Design效果实现

Ripples ——波纹效果

  效果图

Material风格的元素以一种波纹(ripple)扩散的方式响应用户的触摸。如果你使用了Theme.Material或者其派生的主题(该主题需在sdk-21进行添加),那么交互性控件比如Button默认就会拥有这种效果。

values-21包下styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:ThemeOverlay.Material.Dark">
    </style>
</resources>

你也可以在你的drawable上使用这种效果——只要把它们放到ripple元素里,如下:

<ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/accent_dark">
    <item>
        <shape
            android:shape="oval">
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>

自定义view通过View#drawableHotspotChanged回调方法将点击位置传递过去,以便从点击的位置发起ripple效果。

你可能感兴趣的:(material,Design效果实现)