您的位置:首页 > 移动开发 > Android开发

Android 7.0 Gallery图库源码分析7 - ActionBar下拉导航及根据标签进行分类

2017-04-21 10:02 627 查看
转载请注明出处: http://blog.csdn.net/lb377463323/article/details/70308541

ActionBar实现下拉导航

Gallery中使用下拉导航显示可分类的标签,默认分为相册、地点、时间、人物和标签等,实现此下拉导航只需要实现如下代码:

//AbstractGalleryActivity类
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//这里是对每个页面创建菜单栏
return getStateManager().createOptionsMenu(menu);
}

//StateManager类
public boolean createOptionsMenu(Menu menu) {
......
return getTopState().onCreateActionBar(menu);
}

//AlbumSetPage类
protected boolean onCreateActionBar(Menu menu) {
//这里就是显示分类菜单的下拉导航,mActionBar即为GalleryActionBar
mActionBar.enableClusterMenu(mSelectedAction, this);
}


//这个方法就是下拉导航的具体实现
public void enableClusterMenu(int action, ClusterRunner runner) {
mActionBar.setListNavigationCallbacks(SpinnerAdapter adapter,
OnNavigationListener callback);
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
//选中指定位置的导航项,也就是默认显示哪一个导航项
setSelectedAction(action);
mClusterRunner = runner;
}


adapter在Gallery用的是ClusterAdapter,也就是控制下拉导航显示的内容,自己看下代码很容易理解。对于Adapter的话,写过ListView的一个很熟悉,这里不多讲了。

OnNavigationListener是一个接口,需要实现onNavigationItemSelected方法,这个方法用来处理下拉导航的点击事件。下面开始细讲这个方法。

根据标签进行分类

Gallery点击下拉导航一共有相册、地点、时间、任务和标签,下面就只分析根据任务进行分类。

在onNavigationItemSelected方法中通过doCluster进行分类

mClusterRunner.doCluster(sClusterItems[itemPosition].action);


AlbumSetPage实现了ClusterRunner接口,所以mClusterRunner实际上就是AlbumSetPage。下面看下doCluster方法,这是执行分类的实现。

data.putString(AlbumSetPage.KEY_MEDIA_PATH, newPath);
data.putInt(KEY_SELECTED_CLUSTER_TYPE, clusterType);
//通过StateManager切换页面
mActivity.getStateManager().switchState(this, AlbumSetPage.class, data);


切换页面是从AlbumSetPage切换到AlbumSetPage,只不过里面的数据变了而已。data封装了两条数据,AlbumSetPage.KEY_MEDIA_PATH是”/cluster/{/combo/{/local/all,picasa/all}}/face”,KEY_SELECTED_CLUSTER_TYPE是32

之后的过程跟分析3一样,只不过路径和数据源变一下。http://blog.csdn.net/lb377463323/article/details/69569133“>Android 7.0 Gallery源码分析3 - 数据准备以及加载流程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android Gallery
相关文章推荐