Android自定义Preference点击波纹
Posted 码上夏雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android自定义Preference点击波纹相关的知识,希望对你有一定的参考价值。
android自定义Preference点击波纹
在安卓设计开发中,设置页面是比较常见的设计场景,Android Jetpack 为我们提供了Preference来便于我们快速构建设置页面,本文主要来讲解如何通过替换资源文件来实现自定义Preference点击波纹。
查找源码
我们以 EditTextPreference
为例,它的主题是在 PreferenceThemeOverlay
里面进行设置的,我们查看 PreferenceThemeOverlay
所在的文件,路径如下:
在该文件内搜索 editTextPreferenceStyle
,可以看到:
查看 @style/Preference.DialogPreference.EditTextPreference.Material
,可以看到 android:layout
属性对应的布局:
找到 preference_material
,将其复制到你的工程文件的res/layout目录下
查看 preference_material.xml
找到根布局的 android:background
属性,这就是一会我们要设置的。
水波纹背景的创建
- 首先我们需要创建
drawable-v21
文件夹,注意一定是drawable-v21
,否则水波纹可能不起效。 - 在
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>
- 设置
preference_material.xml
根布局的android:background
属性。android:background="@drawable/preference_background"
最终效果
参考文章
Android 修改Preferences样式
ripple实现点击时的水波纹效果
以上是关于Android自定义Preference点击波纹的主要内容,如果未能解决你的问题,请参考以下文章