天天看点

android 水波纹效果

水波纹效果是android 5.0以后添加的效果,效果炫酷

使用方法

<TextView
    android:id="@+id/tev_open_now"
    android:layout_width="130dp"
    android:layout_height="36dp"
    android:layout_marginTop="32dp"
    android:background="@drawable/ripple_foreground"
    android:layout_gravity="center_horizontal"
    android:textColor="@color/white"
    android:textSize="15sp"
    android:text="@string/open_shop_now"
    android:gravity="center"/>
           
ripple_foreground资源文件
           
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#000000">
           
<!--上面的color="#000000"为点击的水波纹的颜色-->
<!--下面的这个形状是点击之前的形状-->
           
<item>
        <shape android:shape="rectangle">
            <!-- 填充颜色 -->
            <solid android:color="@color/app_main_color" />
            <!-- 线的宽度,颜色灰色 -->
            <stroke
                android:width="@dimen/line_one"
                android:color="@color/app_main_color" />
            <!-- 矩形的圆角半径 -->
            <corners android:topLeftRadius="45dp"
                android:topRightRadius="45dp"
                android:bottomLeftRadius="45dp"
                android:bottomRightRadius="45dp"/>
        </shape>

    </item>
</ripple>
           

因为这是5.0以后的效果所以要创建drawable-v21的文件夹,把上面的资源文件放入其中

这是我们还要写一个相同名称的资源文件放入到drawable文件夹下,这是防止5.0以下报错

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <!-- 实心 -->
    <solid android:color="@color/app_main_color" />
    <!-- 指定圆角矩形的4个圆角的半径 -->
    <corners android:radius="45dp" />
    <stroke
        android:width="@dimen/line_two"
        android:color="@color/app_main_color" />

</shape>
           

这样就可以实现水波纹效果

注意:以上设置时button可以实现效果,但是如果给其他控件使用时应在activity或fragment中写该控件的点击事件的事件监听才可以,可以不用处理逻辑也是可以的。

继续阅读