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