欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android 7.1 Launcher3 删除主页搜索框

程序员文章站 2022-06-30 16:21:01
...

平台

RK3288 + Android 7.1
RK3368 + Android 7.1

需求

删除主界面顶部搜索框.

Android 7.1 Launcher3 删除主页搜索框

删除后
Android 7.1 Launcher3 删除主页搜索框

修改

  • packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
    • 增加函数isQsbDisabled, 用于判断是否删除搜索栏, 修改返回值即可设置是否删除.
    • 默认设置隐藏
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java b/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
index 8bb0133..3e6ad5a 100755
--- a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
@@ -1059,6 +1059,13 @@ public class Launcher extends Activity
         if (mLauncherCallbacks != null) {
             mLauncherCallbacks.onResume();
         }
+
+        //AnsonCode hide search bar.
+        if(isQsbDisabled())mQsbContainer.setVisibility(View.GONE);
+    }
+
+    public static boolean isQsbDisabled(){
+        return true;
     }
 
     @Override
  • packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
    • 判断并去除首页添加搜索框, 否则, 隐藏后, APP图标在拖动过程中, 搜索框的位置依然被占用
    • 修改 isQsbContainerPage, 隐藏状态下无意义.
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/Workspace.java b/packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
old mode 100644
new mode 100755
index 340177d..3c99137
--- a/packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
@@ -629,7 +629,8 @@ public class Workspace extends PagedView
 
         CellLayout.LayoutParams lp = new CellLayout.LayoutParams(0, 0, firstPage.getCountX(), 1);
         lp.canReorder = false;
-        if (!firstPage.addViewToCellLayout(qsb, 0, getEmbeddedQsbId(), lp, true)) {
+        //AnsonCode
+        if (!Launcher.isQsbDisabled() && !firstPage.addViewToCellLayout(qsb, 0, getEmbeddedQsbId(), lp, true)) {
             Log.e(TAG, "Failed to add to item at (0, 0) to CellLayout");
         }
     }
@@ -4360,6 +4361,6 @@ public class Workspace extends PagedView
     }
 
     public static final boolean isQsbContainerPage(int pageNo) {
-        return pageNo == 0;
+        return !Launcher.isQsbDisabled() && pageNo == 0;
     }
 }
  • packages/apps/Launcher3/src/com/android/launcher3/util/MultiStateAlphaController.java
    • 禁止在动画过程重新设置为可见(保持隐藏/删除)
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/util/MultiStateAlphaController.java b/packages/apps/Launcher3/src/com/android/launcher3/util/MultiStateAlphaController.java
old mode 100644
new mode 100755
index 956fc9e..8317195
--- a/packages/apps/Launcher3/src/com/android/launcher3/util/MultiStateAlphaController.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/util/MultiStateAlphaController.java
@@ -61,6 +61,10 @@ public class MultiStateAlphaController {
         mTargetView.setAlpha(finalAlpha);
         mTargetView.setVisibility(finalAlpha > 0 ? View.VISIBLE
                 : (mAm.isEnabled() ? View.GONE : View.INVISIBLE));
+        //AnsonCode
+        if(com.android.launcher3.R.id.qsb_container == mTargetView.getId() && com.android.launcher3.Launcher.isQsbDisabled()){
+            mTargetView.setVisibility(View.GONE);
+        }
     }
 
     /**

补丁下载

Launcher3_removeSearchBar.tar.gz