从Preference组件的更迭看Jetpack的前世今生

本文详细介绍了Android中的Preference组件从SDK到AndroidX的演变历程,包括在Support库和AndroidX中的变化。Preference组件作为设置界面的标准实现,经历了从ListView到RecyclerView的转变。随着AndroidX的推出,Jetpack整合了Support库和AndroidArchitectureComponents,提供了更好的开发体验和向后兼容性。文章还探讨了Jetpack与AndroidX的关系,以及Google对于Android开发的未来构想——Modern Android Development (MAD)。

谈到Jetpack,大家都以为是一堆框架,事实上它的内容要大的多。本文以大家熟知的Preference组件为切入点,逐步探究它的前世今生。

Preference作为设置画面的标准实现,大家都不陌生。这个组件跟随Android系统一同诞生,之后便不断地变更。先是Support库中出现了独立版本,接着整合到了AndroidX中,最后在Android 10的时候完全废弃了SDK版本。

12-widget

1. Preference的设计

Preference组件的API设计得非常简单、清晰。

  • PreferenceActivity或PreferenceFragment管理画面的生命周期和事件交互
  • PreferenceScreen构建整个设置列表
  • PreferenceCategory和Preference展示一组或单个设置条目
12-widget
作用
PreferenceActivity 提供了Preference布局设置和查找的ListActivity
PreferenceFragment 展示Preference布局的专属Fragment
Preference 所有Preference组件的基类,预设了Preference处理的基本API
PreferenceGroup 扩展自Preference,用以嵌套Preference组件并内置List进行管理
PreferenceScreen 扩展自PreferenceGroup,嵌套Preference组件的根布局,内部将管理列表View和对应的Adapter
PreferenceCategory 扩展自PreferenceGroup,展示设置条目分组的小标题,不可点击、不可获得焦点
SwitchPreference 内置了Switch控件的Preference组件,类似的扩展组件还有ListPreference、EditTextPreference等

2. 落寞的SDK

Preference组件是Android 1.0发布就引入的元老级组件,那会RecyclerView还未推出,自然采用经典的ListView构建整个设置列表。

使用起来非常简单,跟普通视图的写法并无二致。

<PreferenceScreen android:title="@string/my_preference_settings">
    <PreferenceCategory
        android:title="@string/my_preference_general" >
        <Preference
            android:fragment="com.android.settings.applications.ManageApplications"
            android:key="app"
            android:title
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechMerger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值