Android自定义Preference点击波纹

Android自定义Preference点击波纹

在安卓设计开发中,设置页面是比较常见的设计场景,Android Jetpack 为我们提供了Preference来便于我们快速构建设置页面,本文主要来讲解如何通过替换资源文件来实现自定义Preference点击波纹

查找源码

我们以 EditTextPreference 为例,它的主题是在 PreferenceThemeOverlay 里面进行设置的,我们查看 PreferenceThemeOverlay 所在的文件,路径如下:

PreferenceThemeOverlay 所在文件

在该文件内搜索 editTextPreferenceStyle ,可以看到:

editTextPreferenceStyle搜索结果

查看 @style/Preference.DialogPreference.EditTextPreference.Material ,可以看到 android:layout 属性对应的布局:

Preference.DialogPreference.EditTextPreference.Material
找到 preference_material ,将其复制到你的工程文件的res/layout目录下

preference_material放置路径
查看 preference_material.xml 找到根布局的 android:background 属性,这就是一会我们要设置的。

preference_material.xml

水波纹背景的创建

  1. 首先我们需要创建 drawable-v21 文件夹,注意一定是 drawable-v21 ,否则水波纹可能不起效。
  2. drawable-v21 创建根节点为 ripple 的文件。
    <ripple xmlns:android="http://schemas.android.com/apk/res/android"
    	android:color="#3c6a1c">
        <item
            android:left="8dp"
            android:right="8dp">
            <shape android:shape="rectangle">
                <solid android:color="#FFFFFF" />
                <corners android:radius="6dp" />
            </shape>
        </item>
    </ripple>
    
  3. 设置 preference_material.xml 根布局的 android:background 属性。
    android:background="@drawable/preference_background"
    

最终效果

参考文章

Android 修改Preferences样式
ripple实现点击时的水波纹效果

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上夏雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值