2011-04-03 52 views
2

我正在開發一個Android應用程序,我想支持所有設備尺寸,從手機到全尺寸平板電腦。我想限制應用程序只在較小的設備上使用縱向方向,並允許在設備較大時在橫屏中使用不同的,更大屏幕友好的UI。到目前爲止,我無法找到任何方式,更不用說優雅的方式,將活動限制在允許基於設備屏幕大小的方向。Android:如何允許基於設備的方向

一個例子是:運行該應用程序的智能手機只允許使用layout-small和layout-normal中的佈局資源,並且根本不允許使用landscape。一個更大的平板設備可以使用更大屏幕友好的UI,並且可以在縱向和橫向上使用,並且每個方向都有獨特的UI。

任何提示將不勝感激。

回答

1

要強制Activity進入肖像模式,您可以在Android Manifest中進行設置,但這種方式您無法將其指定爲較小的屏幕,我認爲這是不可能的。此外,您應該小心這樣做,因爲某些手機是針對橫向模式製作的。 http://developer.android.com/guide/topics/manifest/activity-element.html#screen

通過在文件夾名稱

/res/layout-small/main.xml 
/res/layout-normal/main.xml 
/res/layout-large/main.xml 
/res/layout-xlarge/main.xml 

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

0

你可以嘗試讓屏幕大小編程使用的東西,如添加參數提供了具體的屏幕尺寸可供選擇的佈局,你可以做到這一點:

int width = display.getWidth(); 
int height = display.getHeight(); 

然後允許/不允許基於如果屏幕尺寸在特定的邊界之間?

+0

display.getWidth()已棄用。改用displayMetrics.widthPixels。 – 2013-05-19 09:31:41