Android7.1.1之去掉workspace頂部的快速搜索條Qsb

Android7.1.1裏的Qsb是Quick search bar的縮寫,位於workspace第一屏的頂部,主要是打開google瀏覽器搜索,可是如今國內的android手機不支持使用google瀏覽器或者對當下許多消費者來講這個控件是沒什麼大用的,並且主要是當前項目的需求要的是直接顯示應用列表,去掉主界面,因此去掉這個Qsb勢在必行。java

這裏寫圖片描述

Layout Inspectorandroid

咱們如何找到須要修改的位置呢?可能不少人都知道使用Hierarchyviewer這個UI優化工具看控件id進而找到控件所在位置,可是Android studio2.2以後推出了一個新的Android佈局分析工具Layout Inspector,它位於Tools/Android/菜單目錄下,找到並打開它,以下瀏覽器

這裏寫圖片描述

這裏寫圖片描述

開始-find工具

從上面的佈局分析工具可知該控件來自於自定義View類QsbBlockerView和QsbContainerView
接下來有兩種方式來找哪些資源文件用到了這兩個類
法一:com.android.launcher3找到這兩個類,分別右擊鼠標選擇Find Usages,就可看到兩個資源文件qsb_blocker_view.xml和qsb_container.xml佈局

這裏寫圖片描述

這裏寫圖片描述

法二:Git Bash窗口,根據命令grep -nr QsbBlockerView * 和 grep -nr QsbContainerView * 也可得優化

注意在QsbContainerView類中,有個getDefaultView()方法不容忽視,裏面用到了qsb_default_view這個資源文件,因此qsb_container.xml這個容器實際的內容是qsb_default_view.xml中的內容ui

這裏寫圖片描述

修改google

找準位置,開始修改。
註釋掉qsb_default_view.xml中的整個LinearLayout,以後QsbContainerView類中會出現錯誤,主要是跟qsb_default_view.xml裏的兩個資源id有關,註釋掉關於R.id.btn_qsb_search和R.id.btn_qsb_setup的相關代碼。
運行之:spa

這裏寫圖片描述

雖然Qsb再也不顯示在workspace上,但長按workspace上的任意圖標會看見最開始放Qsb的位置依然有一個灰色背景塊存在,且不能拖進任何圖標到該位置,以下圖:xml

這裏寫圖片描述

因此咱們還須要找到設置這個灰色背景塊的地方
針對qsb_blocker_view.xml、qsb_container.xml、qsb_default_view.xml這三個資源文件Find Usages一下,發現Workspace.java這個類中也有引用到,找到該位置,以下圖:

這裏寫圖片描述

經分析,註釋掉一下代碼塊便可去掉灰色背景塊,並能拖動或添加任何icon到該位置

這裏寫圖片描述

運行之:

這裏寫圖片描述

相關文章
相關標籤/搜索