Android开发:为launcher添加一个仿Mac的Dock(附源码)

可以动态的添加快捷方式,默认包含AllApp按钮,图标居中显示。

Android开发:为launcher添加一个仿Mac的Dock(附源码)

DockBar上的图标可以相互交换位置,并且将图标拖拽出去。

Android开发:为launcher添加一个仿Mac的Dock(附源码)

拖拽释放后:

Android开发:为launcher添加一个仿Mac的Dock(附源码)

文章后边附带的源码是基于Android2.2自带的launcher2稍作修改而成,使用eclipse调试。

一、首先要在Launcher的setupViews函数里面初始化自己的layout(需增加3个地方)

  1. 1.         
  2.   
  3. dockbar=(DockBar)dragLayer.findViewById(R.id.dockbar);  
  4.   
  5. dockbar.setLauncher(this);   
  6.   
  7. dockbar.setDragController(dragController);        
  8.   
  9. 2.  
  10.   
  11. dragController.setDragScoller(workspace);  
  12.   
  13. dragController.setDragListener(deleteZone);  
  14.   
  15. dragController.setDockDragListener(dockbar); // hmg25 add for dock   
  16.   
  17.    
  18.   
  19. setDockDragListener为自定义函数,添加在DragController的startDrag中,具体见源码  
  20.   
  21. if(mDockListener!=null){     
  22.   
  23.       mDockListener.onDragStart(source, dragInfo, dragAction);   
  24.   
  25.         }  
  26.   
  27.    
  28.   
  29.   
  30.   
  31. 3.  
  32.   
  33. // The order here is bottom to top.   
  34.   
  35. dragController.addDropTarget(workspace);  
  36.   
  37. dragController.addDropTarget(dockbar);    //hmg25 add for dock   
  38.   
  39. dragController.addDropTarget(deleteZone);  

相关推荐