Android Settings中Preference的理解以及使用

本文介绍了Android中Preference的重要性和使用场景,包括PreferenceActivity和PreferenceFragment的差异,以及如何自定义Preference。通过示例展示了设置Preference布局文件的方式,并探讨了自定义Preference时如何改变布局和控件的行为。
摘要由CSDN通过智能技术生成

      Preference 是Android App 中重要的控件之一,Settings 模块大部分都是通过 Preference 实现

优点:

        Preference 可以自动显示我们上次设置的数据,Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,无需用户自己保存操作,只需要在xml中定义对应的Preference控件即可。

PreferenceActivity和PreferenceFragment:

        PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference来保存。Android专门为这种Activity提供了便捷的基PreferenceActivity。如果继承自Preference则不需要自己控制Preference的读写,PreferenceActivity会为我们处理一切。

        PreferenceActivity与普通的Activity不同,它不是使用界面布局文件,而是使用选项设置的布局文件。选项设置布局文件以PreferenceScreen作为根元素来表示定义一个参数设置界面布局。

       从Android 3.0以后官方不再推荐直接让PreferenceActivity加载选项设置布局文件,而是建议使用PreferenceFragment,PreferenceFragment  源码布局实际就是一个RecyclerView,通过读取Preference的布局来作为其item,通过adapter适配器展示

Preference的介绍和使用

 1.preference常用控件
             Preference 控件家庭          View控件家庭         控件含义                   

               Preference                         TextView                文本框                      

              CheckPreference                CheckBox              单选框                  

              EditTextPreference              EditText               输入文本框            

              ListPreference                     ListView                  列表框             

              RingtonePreference          ——                            铃声

              PreferenceCategory        类似于LinearLayou、RelativeLayout,用于组合一组Preference,使布局更具备层次感 。

              PreferenceScreen            所有Preference元素的根节点
 2.使用 需要加入依赖

 implementation ("androidx.preference:preference:1.2.0-alpha01")

(1)在res文件下定义xml文件夹,定义 test.xml;如下

(2)xml文件中是定义的preference控件

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:settings="http://schemas.android.com/tools">

   
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值