水波纹效果实现

水波纹兼容5.0以下版本

水波纹的两种实现方式和兼容

<Button
      style="@style/Style_Button"
      android:layout_width="300dp"
      android:layout_height="100dp"
      android:text="button" />

1.1: Style样式方式

//Style统一样式
<style name="Style_Button">
        <item name="android:background">@drawable/selector_button</item>
</style>
  • 5.0以上——drawable-v21中selector_button
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    //水波纹颜色
    android:color="@color/colorPrimaryDark">
    //按钮背景颜色
    <item android:drawable="@color/colorAccent" />
 </ripple>
  • 兼容5.0以下——drawable中selector_button
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorPrimary" android:state_pressed="true"></item>
    <item android:drawable="@color/colorAccent" />
</selector>

1.2: Theme主题方式

<Button
      android:layout_width="300dp"
      android:layout_height="100dp"
      android:text="button"
      android:theme="@style/MyButton" />
<style name="MyButton" parent="Theme.AppCompat.Light">
        <item name="colorControlHighlight">@color/colorPrimary</item>
        <item name="colorButtonNormal">@color/colorAccent</item>
</style>

猜你喜欢

转载自blog.csdn.net/qq_33393910/article/details/81182542