一、Android8.1桌面支持键盘操作
Android 8.1 Launcher3 桌面默认并不支持键盘操作切换应用焦点,也无法进入全部列表。因此,对 Launcher3 做一些简单修改使基支持键盘切换焦点。
显示进入应用列表图标
Android 8.1 Launcher3 默认隐藏了进入应用列表图标,修改下面代码,使其像 Android 5.1 一样显示进入应用列表图标:
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java b/packages/apps/Launcher3/src
old mode 100644
new mode 100755
index 6a4cbcb..5bc4df8
--- a/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
@@ -51,7 +51,7 @@ abstract class BaseFlags {
// Feature flag to enable moving the QSB on the 0th screen of the workspace.
public static final boolean QSB_ON_FIRST_SCREEN = true;
// When enabled the all-apps icon is not added to the hotseat.
- public static final boolean NO_ALL_APPS_ICON = true;
+ public static final boolean NO_ALL_APPS_ICON = false;
// When enabled fling down gesture on the first workspace triggers search.
public static final boolean PULLDOWN_SEARCH = false;
// When enabled the status bar may show dark icons based on the top of the wallpaper.
进入应用列表图标见下图:
应用列表支持焦点切换
Android 8.1 Launcher3 应用列表界面默认并不支持焦点切换,使用键盘无法操作。
修改下面代码,使应用列表支持焦点切换:
diff --git a/packages/apps/Launcher3/res/layout/all_apps_icon.xml b/packages/apps/Launcher3/res/layout/all_apps_ic
index 3c2f842..1c22ec3 100755
--- a/packages/apps/Launcher3/res/layout/all_apps_icon.xml
+++ b/packages/apps/Launcher3/res/layout/all_apps_icon.xml
@@ -24,5 +24,7 @@
launcher:iconDisplay="all_apps"
launcher:centerVertically="true"
android:paddingLeft="@dimen/dynamic_grid_cell_padding_x"
- android:paddingRight="@dimen/dynamic_grid_cell_padding_x" />
+ android:paddingRight="@dimen/dynamic_grid_cell_padding_x"
+ android:focusable="true"
+ android:focusableInTouchMode="true" />
移除搜索框
搜索框总是会抢占焦点,并且无法释放焦点,导致其它应用图标无法再获取焦点,因此,我们移除搜索框,修改如下:
diff --git a/packages/apps/Launcher3/res/layout