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到该位置

这里写图片描述

运行之:

这里写图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值