当前位置: 代码迷 >> Android >> [android_gallery_4.0]gallery重要类介绍(二)
  详细解决方案

[android_gallery_4.0]gallery重要类介绍(二)

热度:90   发布时间:2016-05-01 12:06:02.0
[android_gallery_4.0]gallery主要类介绍(二)
3.1.3 AlbumSetPage
负责处理刚进入相册显示的所有相册界面。

其类图如下。


相关类说明
1)SelectionManager.SelectionListener
负责对选择状态时的侦听。

2)SelectionManager
负责对选择状态的处理。
其类图如下。

mSourceMediaSet主要用于对相册数据进行管理,其具体作用待分析。MediaSet类请参见Mediaset。
mClickedSet主要用于对选中的媒体文件的路径进行管理。
mListener就是侦听者。
mDataManager主要用于管理相册数据。
mPressedPath存放当前点中的媒体数据的路径。

选择分为以下几种状态。
SelectionManager.ENTER_SELECTION_MODE
SelectionManager.LEAVE_SELECTION_MODE
SelectionManager.SELECT_ALL_MODE
进入退出全选,对应每种状态都要相应处理。

3)GalleryActionBar.ClusterRunner
主要实现doCluster函数。该函数用于实现按模式排序时的activity跳转。
通过GalleryActionBar实现排序,原理就是打包bundle值,重新开启一个activity,新的activity接受到这个bundle值。
4)EyePosition.EyePositionListener
人眼定位的侦听者,主要实现onEyePositionChanged,用于对人眼位置改变的侦听。未研究。
5)EyePosition
处理人眼定位的类。未研究。
6)MediaSet.SyncListener
处理异步加载mediaset的结果侦听者。实现onSyncDone()函数。
该函数处理异步加载的结果。

7)StaticBackground
管理背景图图片。

8)AlbumSetView
负责绘制所有相册的view。
如下是类图。

8.1)SLotView
将GLView再封装。未研究。

8.2)GLView
关于GLView类介绍的注释如下。通过其可以知道GLView大致是用来将内容渲染到GLCanvas画布上的,同时处理一些触摸事件。未研究。

// GLView is a UI component. It can render to a GLCanvas and accept touch
// events. A GLView may have zero or more child GLView and they form a tree
// structure. The rendering and event handling will pass through the tree
// structure.
//
// A GLView tree should be attached to a GLRoot before event dispatching and
// rendering happens. GLView asks GLRoot to re-render or re-layout the
// GLView hierarchy using requestRender() and requestLayoutContentPane().
//
// The render() method is called in a separate thread. Before calling
// dispatchTouchEvent() and layout(), GLRoot acquires a lock to avoid the
// rendering thread running at the same time. If there are other entry points
// from main thread (like a Handler) in your GLView, you need to call
// lockRendering() if the rendering thread should not run at the same time.

8.3)AlbumSetSlidingWindow
负责滑动显示图片相关。
9)AlbumSetDataAdapter
数据适配器。
10)ActionModeHandler
对操作栏上的操作进行管理。
目前有如下操作。
private static final int SUPPORT_MULTIPLE_MASK = MediaObject.SUPPORT_DELETE
| MediaObject.SUPPORT_ROTATE | MediaObject.SUPPORT_SHARE
| MediaObject.SUPPORT_CACHE | MediaObject.SUPPORT_IMPORT;
3.1.4 AlbumPage
其基本结构与albumsetpage差不多,里面的view变成albumview。

  相关解决方案