Android5.0水波纹效果兼容低版本4.X

先看效果图(偷来的大笑


    Android 5.0中新增了ripple类型,即波纹效果。要实现此几种种效果,

我们需要在res中添加一个新的文件夹drawable-v21,在此文件夹下新建bgripple.xml 用于实现波纹效果

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:color="@color/colorPrimary">  <!--波纹颜色-->

    <!--去掉此item内容就是无界效果-->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF"/>   <!-- 中间的背景色-->
            <corners android:radius="4dp"/>     <!-- 设置背景四个角的角度 去掉即无角度 -->
        </shape>
    </item>
</ripple>
兼容低版本适配 

    需要在drawable文件里创建同名文件bgripple.xml 适配5.0以下机型.(只有变色效果,没有波纹效果)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" android:color="@color/colorPrimary">
    <item
        android:drawable="@android:color/holo_purple"
        android:state_pressed="true">
    </item>
    <item
        android:drawable="@color/colorPrimary"
        android:state_pressed="false">
    </item>

</selector>


 使用

<TextView
    android:id="@+id/tv_title"
    android:layout_marginTop="5dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/bgripple"/>

猜你喜欢

转载自blog.csdn.net/lyc088456/article/details/80250634
今日推荐