Android设置页面之PreferenceFragment的简单使用示例

article/2025/11/6 3:28:06

1.PreferenceFragment介绍

a.PreferenceFragment实际为Fragment的一个子类

b.创建一个PreferenceFragment需要绑定一个xml来显示视图

c.绑定后没就可以当作普通Fragment使用,只是每new一个实例就会创建一个SharePreference,把之前绑定的xml中的值写入保存(即运行时候,会自动在/data/data/<packagename>/shared_prefs/目录生成一个文本文件)。

 

2.使用步骤

a.创建一个PreferenceFragment子类

package com.yuncai.menjin.transition;import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.support.annotation.Nullable;
import android.util.Log;/*** Function:* Created by TianMing.Xiong on 18-10-25.*/public class NavigationSummary extends PreferenceFragment implements Preference.OnPreferenceChangeListener{public static NavigationSummary newInstance() {return new NavigationSummary();}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);// xml文件夹下的一个xx_preference.xml中一个<PreferenceScreen/>标签对应一个PreferenceFragmentaddPreferencesFromResource(R.xml.preferences);// 获取级别描述(组)Preference set_navigation = getPreferenceManager().findPreference("set_navigation");CharSequence summary = set_navigation.getSummary();CharSequence title = set_navigation.getTitle();Log.e("TAG","summary:"+summary+",title:"+title);// 监听开关按钮Preference navigation_is_show_and_hide = getPreferenceManager().findPreference("navigation_is_show_and_hide");// 用于监听哪个Preference的回调,用key标识navigation_is_show_and_hide.setOnPreferenceChangeListener(this);}/*** 必须返回true,否则newValue值永远是false* @param preference* @param newValue* @return*/@Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {String key = preference.getKey();Log.e("TAG","key:"+key+",value:"+newValue);return true;}
}
// 输出:
//        01-03 18:30:16.160 3450-3450/com.yuncai.menjin.transition E/TAG: summary:用于导航栏设置,title:导航栏设置
//        01-03 18:30:24.720 3450-3450/com.yuncai.menjin.transition E/TAG: key:navigation_is_show_and_hide,value:false
//        01-03 18:30:26.130 3450-3450/com.yuncai.menjin.transition E/TAG: key:navigation_is_show_and_hide,value:true

b.在res文件夹下创建一个xml文件夹,新建一个以<PreferenceScreen>为根节点的xml文件preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置的类别 --><PreferenceCategoryandroid:key="set_navigation"android:summary="用于导航栏设置"android:title="导航栏设置"><CheckBoxPreferenceandroid:key="navigation_is_show_and_hide"android:summary="使设备底部导航栏不可见"android:defaultValue="false"android:title="隐藏导航栏"/></PreferenceCategory>
</PreferenceScreen>

c.在fragment中绑定

即之前fragment中的代码

addPreferencesFromResource(R.xml.preferences);

3.效果图


http://chatgpt.dhexx.cn/article/jicNxTaN.shtml

相关文章

Personal preference

Personal preference 相关文章Algorithm&#xff1a;Algorithm的进阶之路 目录 程序猿成长之路 Personal 历史问题记录 程序猿成长之路 Personal 1、C:\Users\99386\AppData\Local\kingsoft\WPS Cloud Files\userdata\qing\filecache\jazve的云文档\knowledge 历史问题记录…

PreferenceFragment详解

在上篇文章中我们讲述了Android 5.1 Settings的源码解析Android 5.1 Settings模块源码分析_Flying snow-CSDN博客&#xff0c; 其中在介绍到Android的Sub Setting时&#xff0c;我们说到基本上都是使用的PreferenceFragment技术&#xff0c;今天我们就来了解一下关于Preferenc…

Android进阶——Preference详解之Preference系的基本应用和管理(二)

引言 前面一篇文章Android进阶——Preference详解之初识Preference及Preference系&#xff08;一&#xff09;简单描述下了Preference的家族构成和基本知识&#xff0c;相信对于Preference早已不会陌生&#xff0c;肯定也跃跃欲试了吧&#xff0c;这篇文章就给大家总结下Prefe…

Android自定义PreferenceScreen的Layout布局,并获取控件

先说一下需求&#xff0c;要在<PreferenceScreen>里添加一个自定义的Layout&#xff0c;实现如下效果&#xff1a; 操作步骤&#xff1a; 1、在res/layout目录创建一个xml文件&#xff0c;名为my_preference_layout.xml&#xff0c;代码如下&#xff1a; <?xml ver…

PreferenceScreen的使用(非常有用)

在res下建个xml文件夹,建立2个xml文件: preferencescreentest_one.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"android:key="using_categor…

使用PreferenceActivity和PreferenceScreen构建应用的设置

对于每个应用程序来说&#xff0c;都要有一些属于用户自己的设置&#xff0c;满足不同需求。当我们点击menu时&#xff0c;如下&#xff1a; 点击settings时&#xff0c;出现&#xff1a; 那么这样的效果是怎么实现的呢&#xff1f;我只是来个简单介绍&#xff0c;给自己做备忘…

PreferenceScreen

对于每个应用程序来说&#xff0c;都要有一些属于用户自己的设置&#xff0c;满足不同需求。当我们点击menu时&#xff0c;如下&#xff1a; 点击settings时&#xff0c;出现&#xff1a; 那么这样的效果是怎么实现的呢&#xff1f;我只是来个简单介绍&#xff0c;给自己做备忘…

PreferenceFragment的使用

文章目录 PreferenceFragment简介PreferenceFragment使用PreferenceFragment 扩展 PreferenceFragment简介 在我们写一个项目的时候&#xff0c;基本都有选项设置界面&#xff0c;这类设置界面的原理基本都是本地的一些个性化设置&#xff0c;通过读取本地设置来改变某些差异显…

Android中Preference的使用以及监听事件分析

转载请注明出处: http://blog.csdn.net/qinjuning 在Android系统源码中&#xff0c;绝大多数应用程序的UI布局采用了Preference的布局结构&#xff0c;而不是我们平时在模拟器中构建应用程序时使用的View布局结构&#xff0c;例如&#xff0c;Setting模块中布局。当然&#xf…

screentogif 录屏

screentogif的由来 screentogif于2013年诞生&#xff0c;主要的开发者是巴西帅哥Nicke Manarin。 最初的目的只是为了学习和提供一款软件供开发者个人使用。 在2016重新启动项目&#xff0c;使得screentogif变得更加实用。 screentogif的安装 进入官网下载软件安装包。 s…

android PreferenceScreen使用笔记

preference.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"><Preference android:title="基本信息"android:layout="@layout/tex…

PreferenceScreen 的使用

java代码&#xff1a; public class Main3Activity extends PreferenceActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main3); //加载布局文件&#xff0c;相当于…

PreferenceScreen的应用

PreferenceScreen preference是偏好&#xff0c;首选的意思&#xff0c;PreferenceScreen个人翻译成 “偏好显示”&#xff0c;明白这个意思就好&#xff0c;就是说根据特点灵活的定义显示内容风格&#xff0c;一个屏幕可以包含多个风格&#xff0c;像系统自带的声音设置界面。…

PreferenceScreen 中如何自定义SwitchPreferenceCompat的布局

PreferenceScreen 中如何自定义SwitchPreferenceCompat的布局 Android Preference 使用请看这篇 Android Preference使用 系统设置的代码&#xff1a; public class SetActivity extends AppCompatActivity { Override protected void onCreate(Bundle savedInstanceSta…

Preference的使用(2) --- PreferenceCategory PreferenceScreen

上一节有讲到Preference的基本使用跟API的介绍 &#xff0c;没有看的话请先阅读 Preference的使用&#xff08;1&#xff09; 现在介绍其子类PreferenceCategory 跟 PreferenceScreen&#xff0c;现在看下继承关系 如上图&#xff0c;他们都是继承自PreferenceGroup的先看一…

preferenceActivity和preferencescreen用法

1. 首先生成一个preferencescreen的xml文件..看代码: <?xml version"1.0" encoding"utf-8"?><PreferenceScreen xmlns:android"http://schemas.android.com/apk/res/android"> <CheckBoxPreference android:key"chec…

Android Settings中Preference的理解以及使用

Preference 是Android App 中重要的控件之一&#xff0c;Settings 模块大部分都是通过 Preference 实现 优点&#xff1a; Preference 可以自动显示我们上次设置的数据&#xff0c;Android提供preference这个键值对的方式来处理这种情况&#xff0c;自动保存这些数据&#xff…

使用 Android PreferenceScreen 偏好显示类(android.preference.PreferenceScreen)

http://edu.gamfe.com/tutor/d/36925.html PreferenceScreen preference是偏好&#xff0c;首选的意思&#xff0c;PreferenceScreen个人翻译成 “偏好显示”&#xff0c;明白这个意思就好&#xff0c;就是说根据特点灵活的定义显示内容风格&#xff0c;一个屏幕可以包含多个风…

android开发之PreferenceScreen使用详解

一 PreferenceActivity 1、PreferenceActivity概述 PreferenceActivity是一个抽象类&#xff0c;继承于ListActivity&#xff0c;以列表形式视图来展现界面,加载的整个View也是基于ListActivity中那个ListView的&#xff0c;其最主要的优势在于添加Preference后可让其状态持久化…

Android PreferenceScreen的使用和详解(设置页面)

PreferenceScreen是设置选项的配置文件&#xff0c;一般用在设置页面&#xff0c;用来当前的状态是保存在。该状态无须用户处理&#xff0c;存在SharedPreferences中。 1.如何使用 1.1布局文件的创建 PreferenceScreen的用法和layout的类似&#xff0c;都是通过xml文件来管理…