2011-03-13 38 views
0

嘿我新的android開發,我有一個快速的問題。有沒有辦法將按鈕放置在視圖上我想要的位置?現在他們似乎只能放在有特定位置的地方。爲什麼不能將它們拖放到我想要的任何位置,例如在iphone sdk中?Android SDK,隨意放置小部件/按鈕等?

有沒有辦法做到這個功能還是不存在?謝謝。

+0

它存在,你真的不想使用它,因爲它會讓你的生活非常困難,試圖支持多種屏幕尺寸,分辨率,密度,高寬比和方向。正如以下所有答案所指出的那樣,Android提供的自動佈局可以保留您的設計,同時可以平滑擴展至Android支持的任何屏幕。如果您需要自定義的東西,您也可以編寫自己的佈局。 – adamp 2011-03-14 00:38:17

回答

1

AbsoluteLayout,但該類已棄用。建議的策略是使用RelativeLayout(您可以通過設置佈局邊距來控制視圖的位置)或構建您自己的自定義佈局類。

0

UI元素的位置由您選擇的佈局決定。見this link

2

Android(例如,類似於Qt)使用layouts的概念。當你創建可以在具有不同DPI,不同屏幕分辨率等的不同設備上顯示的UI時,這是特別有用的。

因此,將按鈕放置在像素座標處,將它們與設備屏幕分辨率無關地放入佈局。

閱讀更多User Interface文件。使用Eclipse ADT插件,您可以直觀地創建佈局。你甚至可以將一個佈局嵌入到其他佈局中,例如創建。在RelativeLayout中的LinearLayout。這爲創建可擴展的屏幕應用程序提供了更多的可能性(例如,手機和平板電腦上的一個應用程序)。

0

Android使用佈局來設計UI。例如,垂直線性佈局將一個元素疊加在另一個上面。 AbsoluteLayout是最精確的,但它也很難維護,並可能變得混亂。 我推薦RelativeLayout。它將UI元素相對於其他元素進行定位。

如果你真的不需要那麼高的精度,還有一種方法是在佈局中嵌套佈局。但是這樣做太麻煩了,並且RelativeLayout成爲更好的選擇。

1

Android UI屏幕是爲各種屏幕尺寸構建的,因此您無法爲UI組件指定確切位置。

Android改爲使用佈局的概念,其中每個佈局具有不同的行爲。這裏有幾個。

  • 的LinearLayout對齊所有的孩子在一個方向 - 垂直或水平,取決於你如何定義方向屬性
  • TableLayout定位其子行和列
  • RelativeLayout的,最常用的佈局之一,讓子視圖指定它們相對於父視圖或相互之間的位置(由ID指定)。