簡體   English   中英

在我的自定義Launcher應用程序中使用Android拖放框架

[英]Using Android Drag and Drop framework in My custom Launcher app

我正在嘗試開發自定義啟動器應用程序(具有無限數量的主頁),我需要在Launcher2(android 4.2)中實現拖放。

所以我發現了兩種方法

1) 拖放框架
2)解釋使用Android的launcher2方式一樣實現的DragController,DragSource上這里

但我很難理解為什么Android家伙沒有在他們自己的應用程序中使用他們開發的拖放框架。 任何人都可以簡要介紹他們的方法背后可能的理由嗎?(我的意思是在記憶/表現方面)

提前致謝。

與Launcher應用程序中使用的相比,Android拖放框架非常基本。

Launcher應用程序有無數的“圖層”,並且拖放會在這些圖層中發生,即DragLayer,Workspace和All Apps視圖等。它使用窗口標志,並在拖動時向DragLayer動態添加/刪除視圖進度和眾多活動監控阻力。 有關更多詳細信息,請特別查看DragLayer.java和Workspace.java文件。

Android Launcher中的拖放操作在同一ViewGroup和同一窗口中作為Overlay繪圖完成。 但是android拖放方法創建了一個單獨的窗口,完全具有單獨的窗口類型。

資源和內存明智標准的android拖放方法更昂貴。

如果性能非常關鍵我的建議是按照Android啟動器方式進行,否則更喜歡標准的android方法,簡單易用。

拖放框架是sice api 11.我的猜測是,在此之前編寫了很多啟動程序代碼,沒有人有時間重構它。 但api與第二種方法類似。

http://javapapers.com/android/android-drag-and-drop/ 這是最好的拖放示例,因為我在我的應用程序中實現了相同的功能。 注意:它將僅支持11以上的版本。拖放功能將不支持版本10.相反,您必須通過settin X和Y positons以絕對布局移動字段。 但絕對布局已被完全棄用......

如果您的應用程序不是那么復雜,您應該使用WindowManaager來控制拖放。 這很容易實現,並且位置已更改。 這里得到代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM