2012-01-29 96 views
2

我是Android開發的新手,對於方向更改佈局方面我有一個最佳實踐問題。Android開發最佳實踐

我的問題是關於處理佈局屬性,當用戶改變設備的方向。

如果出於應用程序的目的,當方向改變時,需要在控件佈局上重新定位控件時,是否應爲該特定方向創建新佈局?還是應該盡一切努力以編程方式重新定位單個佈局上的控件?

謝謝您的意見。

回答

1

我認爲新的佈局不是最好的選擇,你的程序應該以最好的方式重新定位控制。我建議閱讀這些links

3

我會繼續前進,不同意thinksteep這裏:)我認爲一個新的佈局確實是最好的選擇如果你需要超越簡單的尺寸變化(如移動視圖相互之間)。

Android API旨在自動處理 - 您可以分別使用一個名爲layout-landlayout-port的目錄,分別爲橫向和縱向佈局佈局,系統將使用最適合的佈局。

請注意,如果可以的話,您應該避免使用單獨的佈局 - 這是您維護和測試它們的兩倍多的工作。通常,使用聰明的權重和適當的RelativeLayouts可以使任何分辨率的佈局工作。

但在某些情況下,您確實想根據方向完全重新排列布局。作爲一個隨機示例,請查看當前版本的Google音樂。在肖像中,大部分屏幕是封面藝術,底部有一些信息。在風景中,左半部分是封面藝術,右半部分是信息。

我還將關閉一個指向Android文檔的鏈接 - check this out。它更多的是關於多種屏幕尺寸,但它也涵蓋了橫向/縱向。

+1

我同意EboMike。也看看使用片段。您可以在兩個方向重複使用相同的子視圖。以Gmail例子中的主窗口爲例。要在Honeycomb之前使用片段,您需要Android兼容包:http://android-developers.blogspot.com/2011/03/fragments-for-all.html – 2012-01-29 06:58:13

+0

好點。在這一點上,碎片幾乎是必不可少的。有一個兼容包只需要API級別4,所以你的應用程序仍然可以在幾乎所有的設備上工作。 – EboMike 2012-01-29 07:00:35