首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android Launcher中Fold的效能详解【android4.0->Launcher系列三】

2013-04-12 
Android Launcher中Fold的功能详解【android4.0--Launcher系列三】????????????????????????? ?下面来看看4

Android Launcher中Fold的功能详解【android4.0-->Launcher系列三】
????????????????????????? Android Launcher中Fold的效能详解【android4.0->Launcher系列三】

?

下面来看看4.0的代码怎么实现文件夹的:

?

Step 1:如果系统一开始有fold,一启动launcher的时候,在Launcher.java类中bindFolders回调方法中:

?

?


以上基本是把Step 2流程大致过了一遍。

?

Step 3:folder类中的长按事件的传递,以及Fold中长按交换位置的流程过一下:

1、先来说给Folder设置长按监听的地方,因为Folder.java类是继承了View.OnClickListener,
??????? View.OnLongClickListener事件,所以,长按事件就交给自己的onLongClick()事件来处理。

?

2、所以Folder中的长按事件,被自己的public boolean onLongClick(View v) {}时间捕获,代码如下:

private void updateItemLocationsInDatabase() { ArrayList<View> list = getItemsInReadingOrder(); for (int i = 0; i < list.size(); i++) { View v = list.get(i); ItemInfo info = (ItemInfo) v.getTag(); LauncherModel.moveItemInDatabase(mLauncher, info, mInfo.id, 0, info.cellX, info.cellY); } }?

好了,folder的大致流程就是这些,更详细的请参考launcher源代码。

写的仓促,欢迎大家指出里面的错误,如果有不解的欢迎留言!

本文转载自:http://blog.csdn.net/wdaming1986/article/details/7748738

热点排行