Android自定义Preference点击波纹
设置页面是安卓设计开发中常见的设计场景,Android Jetpack 为我们提供为了方便我们快速构建页面,本文主要讲解如何替换资源文件。
查找源码
我们以 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实现点击时的水波纹效果