修改Launcher3/src/com/android/launcher3/LauncherAppState.java的isDisableAllApps()方法,将返回值改为true,即可实现单层桌面。
我们这个项目的设备屏幕比较小,大概是6plus的四分之一那么大,实现单层桌面后发现workspace的区域特别小,图标都挤到一起了,但是旁边还有很多的空白区域,所以接下来还要设置一下workspace的大小。修改Launcher3/src/com/android/launcher3/DeviceProfile.java的layout()方法,将
workspace.setPadding(padding.left, padding.top, padding.right, padding.bottom);
改为:
workspace.setPadding(10, 20, 10, 20);
workspace的区域就变得很合理了。
但hotseat依然在设备的下方位置(横屏情况下它位于屏幕右侧),并且hotseat上的应用图标特别大,遮挡了workspace上的右侧部分图标。网上有个Launcher3的源码,在将isDisableAllApps()方法的返回值改为true后hotseat上便默认不会加载应用了,不知道这是从哪个版本的系统上download下来的,Android5.1上的Launcher3并没有此效果。并且即使hotseat上没有加载应用,由于它在workspace的上层,会覆盖掉workspace上的点击事件,所以workspace上的右侧部分图标可以正常显示,但是不能点击。于是我想到了一个