读书人

Android Launcher中Fold的效能详解【a

发布时间: 2013-04-12 18:33:12 作者: rapoo

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

读书人网 >Android

热点推荐