Settings源码分析

本文详细分析了Android Settings应用的源码,从AndroidManifest.xml开始,揭示了Settings主类及其实现的PreferenceActivity。讲解了如何通过onBuildHeaders方法自定义显示效果,以及header在不同屏幕尺寸下的展示方式。此外,还介绍了PreferenceFragment的使用和布局文件preference-headers、PreferenceScreen的结构。通过学习,可以深入理解Settings的内部机制。
摘要由CSDN通过智能技术生成
Settings源码分析 4.2
1. 拿到一份代码,首先是找到它的入口,一步一步往里看
Settings/AndroidManifest.xml
<activity android:name="Settings" 
                android:label="@string/settings_label_launcher"
                android:taskAffinity="com.android.settings"
		        android:configChanges="keyboardHidden|screenSize|mcc|mnc"
		        android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.settings.SETTINGS" />
            </intent-filter>
        </activity>

2. 知道主类是Settings
src/com/android/settings/Settings.java
一个Activity根据以往经验,会在onCreate里声明使用的layout文件,如果主layout文件含有fragment,  \
则具体的layout应该在实现Fragment类中的onCreateView方法里,不幸的是在Settings里都没有找到,那就是它有自己的机制了,看它的父类吧
public class Settings extends PreferenceActivity
        implements ButtonBarHandler, OnAccountsUpdateListener {
        ...
    }
    
3. PreferenceActivity是framework提供的类,去查api吧
1). 概述
这是一个展示preferences结构的类,这个功能经常包含PreferenceFragment这个类。这个类能展示一个或者多个pref
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值