2012-02-15 96 views
3

我不久前開始研究Android,並且遇到了一個問題,我應該用哪個方法來解決簡單的任務。假設我有一個視圖(也許是一個按鈕),我希望用戶能夠用手指在屏幕上移動它。在AbsoluteLayout被棄用之前,正確的方法很明顯。我會根據相應的事件改變視圖的位置。但是現在是什麼?用手指移動視圖

回答

0

如果您嘗試移動視圖以瀏覽應用或頁面中的圖片,Android會提供一組widgets來執行此類操作。如果你想,比方說,在大型圖像平移,也許這將幫助:使用的FrameLayout和更新marginLeft和marginTop

您可以添加多個孩子框架佈局Image in Canvas with touch events

0

IM,雖然這不是由於多個解決方案問題而推薦。

android docs:

的FrameLayout

被設計爲阻擋的區域在屏幕上顯示 單個項目。一般來說,FrameLayout應該用於保存子視圖,因爲可以很難以 的方式組織子視圖,這種方式可以擴展到不同的屏幕尺寸,而不需要兒童 彼此重疊。但是,您可以使用android:layout_gravity 屬性將多個孩子添加到FrameLayout中,並將其在FrameLayout中的位置控制爲 ,從而爲每個孩子分配重力。

此「警告」不適用於您的情況,因爲您根據用戶觸摸事件明確設置邊距。

+0

這僅適用於一個視圖,容器中可能有多個視圖。 – 2012-02-15 09:35:38

+0

您可以添加多個視圖到框架佈局。 – ravyoli 2012-02-16 11:46:11

+0

could!=應該 – dbm 2012-03-01 14:31:56

5

創建自己的自定義視圖並添加onTouch事件偵聽器。這很簡單。很好地解釋了here

+0

我會讀。雖然那篇文章對我來說有點「太多」,至於我的簡單問題...... – 2012-02-15 09:37:45