天天看点

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

Android O Settings 

  • 静态界面篇
  • 界面渲染篇
  • 数据加载篇之一级菜单
  • 数据加载篇之二级菜单
  • 数据加载篇之获取及修改默认设置属性值
  • 搜索栏篇

Settings 搜索栏

  • 上篇——界面
  • 中篇——实现原理
  • 下篇——搜索及页面跳转

上篇——界面

首先看一下搜索框的布局实现;

位于Settings主界面布局文件settings_main_dashboard.xml中:

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

从布局中并不能看出搜索栏是怎么展现出来的;

接着分析SettingsActivity.java——>onCreate():

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

这段代码的含义就是当判断当前界面为Settings主界面时,就会将主界面最上端标题栏替换为search_edittext.xml的界面显示;

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

这个才是真正的搜索栏。

毫无疑问,会给整个搜索栏设置监听事件:

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

当点击搜索栏时会跳转到SearchActivity.java:

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

看它所加载的布局search_main.xml:

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

仅仅有一个FrameLayout,不包含任何内容;

来到SearchFragment.java:

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

接下来看它加载的布局search_panel.xml:

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

         ……

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

          ……

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

          ……

Android O Settings源码流程分析(搜索栏篇(上))Android O Settings 

此界面所展示的顶部是一个SearchView搜索框,而它的下面则是一个RecyclerView用于展示搜索候选项;

综上意为:当用户点击主界面的搜索栏时会跳转到一个新的Fragment展示出一个顶部搜索栏,下面候选项列表的新界面。

关于界面显示已经分析完毕;

点击进入下篇——实现原理