2013-03-06 43 views
3

我創建了一個簡單的Android應用程序。它只有一個活動和一個視圖。平板電腦上的縮放視圖看起來類似於手機

該應用程序是專爲手機。我使用「設備獨立像素」單元(dp)來進行所有UI元素測量,而RelativeLayout則用於我的大部分佈局。該應用在小屏幕上看起來不錯。

在大屏幕上(例如平板電腦),所有元素都很小,分散開來,底部有一個很大的空白區域。的確,平板電腦和手機的UI元素的物理尺寸大致相同,這是dp部門所承諾的,但這並不是我想要的這款應用程序。我希望整個界面變得越來越大,儘可能地填滿屏幕,就像在iPad上運行iPhone應用程序並按下「2x」按鈕一樣。

這樣做的最好方法是什麼?我必須爲每種屏幕尺寸編寫單獨的視圖嗎?我應該使用像素(px)而不是dp嗎?

謝謝。

回答

1

使用px作爲度量值實際上會更糟糕 - 因爲新平板電腦具有較高的DPI屏幕,這意味着平板電腦上的100像素在視覺上會小於中等規格手機。

您最好的選擇是使用佈局覆蓋(layout-sw600dp,layout-sw700dp)。 雖然只是簡單地擴大電話佈局是嚴格勸阻 ..如果你想採取快捷方式所有你需要做的就是複製你的手機佈局到sw *文件夾,並調整所有的dp測量。

您還需要使用平板電腦強行進入人像模式:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
+0

我覺得這個問題是DP測量的調整。 Android有沒有辦法自動檢測屏幕有多大,並通過這個因子多重化dp值? Imageviews在包裝內容時也更糟 – Snake 2013-12-22 19:43:52