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

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

這裏寫圖片描述

Layout Inspector

我們如何找到需要修改的位置呢?可能很多人都知道使用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中的內容

這裏寫圖片描述

修改

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

這裏寫圖片描述

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

這裏寫圖片描述

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

這裏寫圖片描述

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

這裏寫圖片描述

運行之:

這裏寫圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章