千家信息网

Android中PreferenceFragment的简单介绍及使用方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"Android中PreferenceFragment的简单介绍及使用方法",在日常操作中,相信很多人在Android中PreferenceFragment的简单介绍及使用方法问题上存
千家信息网最后更新 2026年11月02日Android中PreferenceFragment的简单介绍及使用方法

这篇文章主要介绍"Android中PreferenceFragment的简单介绍及使用方法",在日常操作中,相信很多人在Android中PreferenceFragment的简单介绍及使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android中PreferenceFragment的简单介绍及使用方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • PreferenceFragment简介

  • PreferenceFragment使用

  • PreferenceFragment 扩展

PreferenceFragment简介

在我们写一个项目的时候,基本都有选项设置界面,这类设置界面的原理基本都是本地的一些个性化设置,通过读取本地设置来改变某些差异显示(例如字体大小,主题颜色,WIFI自动下载等)。这些设置一般都会使用Preference来保存,Android专门为这种Activity提供了便捷的基类PreferenceActivity(如果是Fragment,使用PreferenceFragment,现在推荐使用v7包下的PreferenceFragmentCompat),这些类内部封装了Preference,会帮我们自动读写设置,方便开发者便捷完成这类功能。

PreferenceFragment使用

PreferenceFragment位于android.preference包下,现在推荐使用v7包下的,这里还是使用这个来说明,原理是一样的。


先来使用下:

在res目录下创建xml目录

在xml目录下创建xml文件(文件名自己定义即可)
这里演示的文件是pref_setting.xml

                                    

继承PreferenceFragment,在onCreate方法中调用addPreferencesFromResource方法加载xml目录下的资源即可

public class PreferenceTestFragment extends PreferenceFragment {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        addPreferencesFromResource(R.xml.pref_setting);//加载xml文件    }}

运行效果:

pref_setting.xml中使用的控件可以查看android.preference包下,这里面有几个常用的属性:

属性名用途
android:key存储key,这个就是SharedPreferences存储时的key
android:title标题
android:defaultValue默认值

设置点击事件

findPreference("setting_no_img").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {            @Override            public boolean onPreferenceClick(Preference preference) {                                //todo                return true;            }        });

findPreference中的key就是xml中声明的key。
可以使用registerOnSharedPreferenceChangeListener来监听SharedPreferences值改变。

 getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);

PreferenceFragment 扩展

可以通过继承Preference来实现自定义控件

public class ThemePreference extends Preference {    private CircleView circleImageView;    public ThemePreference(Context context, AttributeSet attrs) {        super(context, attrs);        // 加载布局文件        setWidgetLayoutResource(R.layout.item_theme_preference_preview);    }        // 绑定视图    @Override    protected void onBindView(View view) {        super.onBindView(view);        int color = CommonSettingUtil.getInstance().getThemeColor();        circleImageView = (CircleView) view.findViewById(R.id.iv_preview);        circleImageView.setBackgroundColor(color);    }    /**     * 刷新颜色显示     */    public void updateColor() {       circleImageView.setBackgroundColor(CommonSettingUtil.getInstance().getThemeColor());    }}

到此,关于"Android中PreferenceFragment的简单介绍及使用方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

方法 文件 目录 使用方法 学习 便捷 原理 就是 属性 控件 更多 界面 简介 颜色 存储 帮助 推荐 实用 接下来 个性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 北京路客互联网科技有限公司 金融科技还是互联网 北京互联网科技公司 天津摩尔互联网科技 互联网科技缩写 中正互联网科技招聘 华中科技有哪些互联网大佬 福州新华互联网科技学校 知乎 武汉健翔互联网络科技有限公司 晓花互联网科技有限公司网址 合肥互联网科技公司公章图片 互联网金融科技公司的优势 雨阳互联网卡科技有限公司 21世纪互联网科技成就 唐山双旺合互联网科技产业园 盐城市攀科互联网科技有限公司 长沙易易互联网科技有限公司 华人运通互联网科技公司 瑞安市蟠桃会互联网科技有限公司 科技互联网公司装修 河南真二互联网科技有限公司 未来的互联网科技 互联网科技logo 互联网科技公司名称 湖南诚度互联网科技有限公司 受益于互联网科技的高速发展 宁夏科技产业互联网案例 晓花互联网科技有限公司网址 烟台灵鸽互联网科技有限公司
0