Android 仿三星Launcher
1、实现横向滑动分页:
在AllApps2D.java的addApps方法中,以16个应用程序为一页存到ArrayList<ArrayList<ApplicationInfo>> mAllAppsLists
并创建对应的GridView,将这些View添加给以ViewGroup为基类的滑动类对象。
问题:删除某个应用程序后,其所在的页面会导致无法点击,要过好一会儿才能将应用程序的图标删除并可以点击。
想到的当然是GridView可能没有刷新的原因,于是,在AllApps2D.java的removeApps中,试了postInvalidate/flush/等,但是没有效果,最终在基于ViewGroup的滑动类的onLayout中发现,其方法体被if(change)包着,通过打LOG,change值除了第一次为true,其它都为false,再对比Workspace.java中的同名方法,并没有用if(change)包着,于是,去掉if(change),解决。
问题:所有应用程序初始化完毕标志
2、实现编辑,并在拖动过程中有动画效果。
查看android的动画效果有四种
|
即我们要用的是转换位置移动动画效果。
GridView中取到View;定义每个主菜单ICON的动画起止坐标;
problem:
移动后如何停止到最终位置?