分享:通过Launcher里的WorkSpace完成桌面的3D转屏效果(有源码)

(http://www.eoeandroid.com/viewthread.php?tid=27079&extra=&page=1)大家复制起来研究太麻烦,要我上传附件,已经上传了,附件里面的改动比较大而且注释不那么详细了,

出于多效率的考虑,没有用多线程了。下面提到的问题也都已解决,有什么好的建议大家再提出来一起讨论。

132.PNG 

 Workspace.rar (11.97 KB) 
/*
这个workspace可以看做一个整体,X坐标上的范围是0-960
它共有3页,每个页即为一个child,每个child里面都有很多单元格,单元格中可以放置shortcut,
active folder, widget,他们分别会横向纵向占用不同的单元格数。
通过使用ScrollTo(int,int)这个方法可以把workspace这个整体移动,来显示不同的页面
比如:
ScrollTo(0,0) 为第一页
ScrollTo(320,0) 为第二页
ScrollTo(640,0)  为第三页
如果有更多页
ScrollTo(640,0) 为第四页
ScrollTo(960,0)  为第五页
.
.
.
其实页面上的被添加了组件后,这些组件我们看不见,
但是你点击某些看不见的“空位置”也是可以进入。
比如我们在中间页的左上角添加了一个短信的shortcut,如果不调用
drawChild(canvas, getChildAt(1), drawingTime)或者绘制出来我们是
看不见这个icon的,但是点击屏幕左上角却可以进入短信。
流程:
1.得到3个页的bitmap,页面上一有变化就重新得到bitmap 
2.拖动屏幕时让屏幕不滑动也不按原始方式换页,而进行相应
的两个bitmap的变换操作来达到3D效果(不用GL,这样可以更有效率)
3.通过拖动的起始和结束坐标判断是否换页,应该如何换页
4.由于使用drawChild()把icon画到页上的时候,在进行2个bitmap的变换达到3D效果时
图像会出现从叠,故没有使用它,而是使用Canvas.drawBitmap()把相应bitmap张贴到
相应的页上,这样可以我们就可以知道屏幕的何处有何应用图标了
背景还没做好,准备搞个全黑,转的时候的3个Bitmap的背景搞成桌面背景,这样用户
还可以更换,3D效果有了,但需要改善

希望大家把自己的研究成果都分享出来,大家共同学习,共同进步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值