• 点击水波纹效果


    当布局没有设置 background属性的时候给其布局中加入一下代码就是系统默认的水波纹效果

    比如在recyclerview的item布局中,或者其他任意布局中。

    android:background="?android:attr/selectableItemBackground"
        android:clickable="true"
        android:focusable="true"

    当UI有要求布局、按钮等的背景颜色时,使用ripple属性来设置背景。

    在drawable-v21中加入:

    <?xml version="1.0" encoding="utf-8"?>
    <ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="@color/feedback_sbmit_btn_color_press"//点击时水波纹的颜色
        >
        <item>
            <shape android:shape="rectangle">//水波纹矩形形态。
                <solid android:color="@color/feedback_sbmit_btn_color_nor" />//正常状态的颜色
                <!--<corners android:radius="4dp" />-->
            </shape>
        </item>
    //以下两行表示当按钮或布局不可用时的状态,可根据自己的实际情况添加。如果只考虑点击的话删除以下两行即可。 <item android:drawable="@drawable/input_green" android:state_enabled="true"/> <item android:drawable="@drawable/after_send_2x" android:state_enabled="false"/> </ripple>

    由于ripple属性是21以上的系统才有,所以还需要在5.0以下,也就是正常的drawable文件夹下创建同名文件,代码如下:(就是正常selector的写法)

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/feedback_sbmit_btn_color_press" android:state_pressed="true"/>
    <item android:drawable="@color/feedback_sbmit_btn_color_press" android:state_focused="true"/>
    <item android:drawable="@drawable/input_green" android:state_enabled="true"/>
    <item android:drawable="@drawable/input_green" android:state_pressed="false"/>
    <item android:drawable="@drawable/input_green" android:state_focused="false"/>
    <item android:drawable="@drawable/after_send_2x" android:state_enabled="false"/>
    </selector>

     说明:android5.0以上的系统默认button、imageButton、radioButton、checkBox等默认获取焦点的控件,在不设置background属性的情况下就具有水波纹效果

    设置该属性后(比如颜色图片等等),水波纹失效。想要达到效果,就在v21中使用ripple设置background。

  • 相关阅读:
    😉P03 Go 基础知识😉
    😎P03 DB 数据库的约束条件、表关系、修改表语法以及复制表😎
    😉P02 Go 快速上手😉
    C# NPOI导出Excel横向纵向显示
    C# 批量上传文件 添加图片水印
    C# 压缩ZIP
    SQL Server循环插入100000条数据
    C# 特殊字符过滤拦截
    C# 导入Excel到数据库
    C# 实现批量删除功能
  • 原文地址:https://www.cnblogs.com/epmouse/p/6537787.html
Copyright © 2020-2023  润新知