Android5.1 Launcher3 修改双层桌面为单层

通过修改Android5.1 Launcher3的源码,将`isDisableAllApps()`方法返回值设为true,实现单层桌面。调整`DeviceProfile.java`的`layout()`方法优化workspace大小。由于Hotseat仍然存在并遮挡图标,选择在launcher.xml中隐藏hotseat部分。此外,移除menu键的长按事件以防止hotseat显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  修改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上的右侧部分图标可以正常显示,但是不能点击。于是我想到了一个简单粗鲁的办法,将launcher.xml文件下的hotseat部分GONE掉,编译后hotseat不见了,并且没有发现什么不良影响。当然hotseat上的应用也会消失不见,但因为项目本来就是要隐藏这些应用的,所以没影响。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值