歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發:為launcher添加一個仿Mac的Dock(附源碼)

Android開發:為launcher添加一個仿Mac的Dock(附源碼)

日期:2017/3/1 11:17:09   编辑:Linux編程

之前在網上看到有篇文章:Launcher之Dock細節篇http://www.linuxidc.com/Linux/2011-09/44160.htm 它實現了一個仿Mac的dock。感覺蠻有意思的,所以就照著仿制了一個。

可以動態的添加快捷方式,默認包含AllApp按鈕,圖標居中顯示。

DockBar上的圖標可以相互交換位置,並且將圖標拖拽出去。

拖拽釋放後:

文章後邊附帶的源碼是基於Android2.2自帶的launcher2稍作修改而成,使用eclipse調試。

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

  1. 1.
  2. dockbar=(DockBar)dragLayer.findViewById(R.id.dockbar);
  3. dockbar.setLauncher(this);
  4. dockbar.setDragController(dragController);
  5. 2.
  6. dragController.setDragScoller(workspace);
  7. dragController.setDragListener(deleteZone);
  8. dragController.setDockDragListener(dockbar); // hmg25 add for dock
  9. setDockDragListener為自定義函數,添加在DragController的startDrag中,具體見源碼
  10. if(mDockListener!=null){
  11. mDockListener.onDragStart(source, dragInfo, dragAction);
  12. }
  13. 3.
  14. // The order here is bottom to top.
  15. dragController.addDropTarget(workspace);
  16. dragController.addDropTarget(dockbar); //hmg25 add for dock
  17. dragController.addDropTarget(deleteZone);
Copyright © Linux教程網 All Rights Reserved