2 DoubleWay96

尚未进行身份认证

我要认证

低端程序员

等级
TA的排名 56w+

Setting学习(八)-搜索框(搜索过程)

从前面已经知道搜索界面的布局是线性布局,上面是一个searchview,而下面是一个recycleview显示搜索的结果,在搜索过程中,会从数据库里匹配,点击筛选结果,根据ClassName启动对应的界面:\packages\apps\settings\src\com\android\settings\search\SearchFragment.javaonCreate()方法:在onCr...

2020-02-14 16:23:32

Setting学习(七)-搜索框(实现原理)

从上面已经知道搜索框布局的具体加载是在SearchFragment中进行的,下面就来看看SearchFragment的onCreate方法:\packages\apps\settings\src\com\android\settings\search\SearchFragment.java在onCreate方法中调用了SearchFeatureProvider的updateIndexAsyn...

2020-02-14 16:09:00

Setting学习(六)-搜索框(界面)

要学习搜索栏首先要看一下搜索栏的布局是怎样实现的,首先来看看主界面的布局文件:\packages\apps\settings\res\layout\Settings_main_dashboard.xml可以看到在主界面的搜索框是一个卡片式布局CardView接下来再看SettingsActivity.java的onCreate()方法,之前也提到过主界面继承了SettingsActivit...

2020-02-14 15:45:33

Setting学习(五)-默认设置值加载及修改

我们有些需求需要修改setting的默认值来达到目的,这涉及SettingsProvider,(framework/base/packages/SetingsProvider)它主要是做什么的呢,从这个名字也可以看出来,SettingsProvider继承了contentProvider,扮演了数据共享功能的角色,SettingsProvider中有一个数据库,这个数据库是对外开放的,用户在修改系...

2020-02-14 15:39:01

Setting学习(四)-数据加载之二级菜单

二级菜单是以动态加载和静态xml文件结合的方式进行加载的。以网络(network)为例可以看到,它对应的fragment是NetworkDashboardFragment.java,他继承了DashboardFragment而往上追踪溯源,最后都是继承的PreferenceFragmentPreferenceFragment是通过xml文件来进行加载的,它是所有二级界面的基类。首先来...

2020-02-14 15:09:51

Setting学习(三)-数据加载之一级菜单

Setting模块的界面渲染的时候说过,setting的主界面(一级菜单),是通过DashboardSummary来加载的,DashboardSmmary作为设置主界面的顶部容器,自然与数据的加载也有关。DashboardSummary是Fragment的子类,所以也要执行onCreate()方法:可以看到在onCreate()方法里面有两个数据提供者mDashboardFeatureProv...

2020-02-03 17:41:32

Setting学习(二)-静态界面的渲染

可以看到在SettingsActivity的onCreate方法中有getMetaData()方法ai.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);这个函数的主要作用就是从Activity标签中获取meta-data标签中key为com.android.settings.FRAGMENT_CLASS的值,并将其赋值给mFragmentCl...

2020-02-03 15:24:14

Setting学习(一)-静态界面

Setting学习(一)-静态界面设置是整个android系统的重要应用,涉及的都是系统功能Setting模块的主要路径 :/packages/apps/Settings/Setting模块里的activity可能一看和其他的activity有不同,但是其实原理都是一样的,设置为了更好的区分和获取信息,在Androidmanifest.xml中添加了许多属性从Androidmanifest...

2020-02-02 18:53:35
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。