1 前言

    AndroidX 已经取消了PreferenceFragment, 并且让我们使用Settings
Use the AndroidX Preference Library for consistent behavior across all devices. For more information on using the AndroidX Preference Library see Settings.
Settings位于 User interface 下,包括一些常用的布局组件,通知,导航条,刷新,对话框,菜单,搜索等等,
Setting其实在Android 10代替了原来的android.preference库,那么和原来的Preference相比,它有什么变化呢?

 

 

 

 

2 preference变化

  1. 将层次结构拆分为多个屏幕,如果您有大量的preference,可以分不同的屏幕显示,每个屏幕都应该是一个PreferenceFragmentCompat ,拥有自己单独的层次结构。然后初始屏幕上的Preference可关联至含有相关Preferences的子屏幕。 那么是怎么关联的呢?
  2. 要关联带有Preference的屏幕,可以在XML中声明app:fragment,或使用Preference.setFragment();
  3. 设置声明应包完整的软件包名
  4. 当用户点按带有关联 Fragment 的 Preference 时,系统会调用接口方法 PreferenceFragmentCompat.OnPreferenceStartFragmentCallback.onPreferenceStartFragment()。此方法应该用于显示新屏幕,且应在托管 Activity 中实现。
  5. PreferenceFragmentCompat-负责显示Preference对象的互动层次结构的Fragment
  6. 容器:PreferenceScan -表示设置屏幕的顶层容器。这是Preference层次结构的根组件
                 PreferenceCategory - 用于对类似的Preferences进行分组的容器。PreferenceCategory显示类别标题,并直观划分Preferences的组别。

 3 perference组件的区别

 组件:
          Preference - 代表单独设置的基本构建块
          EditTestPreference-保留String值的Preference
          ListPreference - 保留String值的Preference
          MultiSelectListPreference - 保留一组String的Preference
          SeekbarPreFerence - 保留整数值的Preference
          SwitchPreferenceCompat - 保留布尔值的Preference
          CheckBoxPreference  - 保留布尔值的Preference

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐