2012-11-15 109 views
1

我正在開發一個UI容器來容納可以拖放到容器上的UI組件,還可以在容器內移動組件。這些部件具有各種尺寸。我在flex/actionscript中這樣做,但我想這個問題適用於任何用戶界面。是否有任何有佈局算法的資源(書籍等)。任何指針都會對你有很大的幫助。用戶界面佈局算法

用戶可以拖放項目。但是這些項目應該重新排列,以免重疊。例如。如果兩個物品彼此相鄰並且用戶將第三個物品放在它們的頂部(在中間),則前兩個物品應該移動到一旁以騰出空間用於第三個物品。 (與examples.adobe.com/flex3/devnet/dashboard/main.html類似,但項目大小不同)。

儀表板佈局的源代碼與假設一起使用,所有組件都具有相同的維度。我正在尋找的是一種佈局不同尺寸組件的方法。

謝謝

+0

如果用戶可以將物品拖放到任何位置;你期望你的佈局算法做什麼?你期望這個算法做什麼? – JeffryHouser

+0

用戶可以拖放項目。但是這些項目應該重新排列,以免重疊。例如。如果兩個物品彼此相鄰並且用戶將第三個物品放在它們的頂部(在中間),則前兩個物品應該移動到一旁以騰出空間用於第三個物品。 (類似於http://examples.adobe.com/flex3/devnet/dashboard/main.html,但項目大小不同) –

+0

聽起來像您可能希望包括在您的問題中的重要信息。使用該儀表板/佈局的源有什麼問題? http://examples.adobe.com/flex3/devnet/dashboard/srcview/index.html – JeffryHouser

回答

0

我們在過去爲客戶做過這樣的工作。你需要的是一個碰撞檢測算法的實現。看到這個http://code.google.com/p/collisiondetectionkit/ 這裏還有一篇關於代碼項目的文章,它在C#中有一些佈局實用程序,它可以實現這個功能,您可能會使用它:http://www.codeproject.com/Articles/23871/WPF-Diagram-Designer-Part-3。另外

+0

感謝球員的投入。如果我瞭解更多信息,我會檢查上述鏈接併發回。 –