launcher 改造

veryitman 2012-03-13 06:48:16
请教大家一个问题,launcher里面有个HandleButton,点击之后会呈现所有app,我现在想把它直接放到Home界面,也就是直接放到桌面上面,去掉这个HandleButton,开机之后就可以直接看到这些app。

workspace是一个viewgroup,我试过很多方法,效果都不是很好,比如动态增加屏幕数目,请大家给点思路?
...全文
248 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
veryitman 2012-03-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fangzheng80 的回复:]

我有anroid项目,想找高手承接,qq:1847731288 手机15620533975
[/Quote]

是什么android项目,不会是修改launcher吧?launcher里面的设计思想,值的借鉴和学习!
veryitman 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ufokucha1708 的回复:]

我现在也在搞这个东西 想问下楼主是怎么去掉HandleButton 然后在桌面加载app的。
[/Quote]

如果你熟悉launcher是如何加载default_workspace.xml,然后解析以及如何添加到workspace里面的话,那就不难了。

我的做法就是使用launcherProvider,加载系统所有app,然后写到数据库,通过launcher的binditems(是一个回调方法)添加到workspace里面。

王_陈韩 2012-03-16
  • 打赏
  • 举报
回复
我现在也在搞这个东西 想问下楼主是怎么去掉HandleButton 然后在桌面加载app的。
veryitman 2012-03-15
  • 打赏
  • 举报
回复
有人会吗?赐教。。。
我使用viewpager实现这个功能,但是要想要想实现其它功能很难!
veryitman 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vyphn 的回复:]

图标排序是个很慢的过程。。。
一、初始化时往favorites表里插入所有程序数据。。。当然自己计算好screen,cellX,cellY

这个已经实现了(LauncherProvider类里面),操作是比较耗时,加载图标需要2s时间,如果更多的app,时间需要更久。需要优化,但是目前没有好办法!

二、在bindWorkspace时,根据item所在的screen判断屏幕数是否够,不够的调用addView添加屏幕(可能有指示器或需要记录总屏幕数等,该添屏的方法可以自己封装)。


三、至于实时添加apk需要改造下launcher2那部分代码,因为它只……

的确!
[/Quote]

欢迎交流,等完全实现之后!

Vyphn 2012-03-15
  • 打赏
  • 举报
回复
图标排序是个很慢的过程。。。
一、初始化时往favorites表里插入所有程序数据。。。当然自己计算好screen,cellX,cellY
二、在bindWorkspace时,根据item所在的screen判断屏幕数是否够,不够的调用addView添加屏幕(可能有指示器或需要记录总屏幕数等,该添屏的方法可以自己封装)。
三、至于实时添加apk需要改造下launcher2那部分代码,因为它只在LauncherApplication启动的情况下才能接收到程序改变的广播(动态注册嘛,其实就是LauncherModel),修改成静态注册。这又分为两种情况:
1、Launcher未启动。只要改写数据库,添加、更新、删除嘛
2、Launcher已启动。把接收到的intent传给LauncherModel的onReceive处理吧,需要对数据库和workspace上的图标进行添加、更新、删除处理。

附:我数据库中不存程序图标,只在bindWorkspace的时候异步读取刷新,但速度有点慢,如果你有更快的加载方法,交流下,共同进步。
veryitman 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hmg25 的回复:]

如果要动态增加workspace数目的话,可以参看ADW的源码,网上有下的
[/Quote]

我现在已经实现在workspace上面加载app,去掉了Handleview,接下来就是如何将图标排序,动态增加workspacescreen,以及系统增加一个将apk的时候如何实时的添加到桌面。

看来launcher路还很长!
hmg25 2012-03-15
  • 打赏
  • 举报
回复
如果要动态增加workspace数目的话,可以参看ADW的源码,网上有下的
xqhrs232 2012-03-13
  • 打赏
  • 举报
回复
也有这样的问题要面对

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧