我正在創建一個android應用程序,該應用程序應該在具有明顯不同的物理屏幕大小的多個不同設備上運行。 推薦的做法似乎是通過設備的dp寬度來區分屏幕尺寸,例如爲相應的設備創建「layout-w700dp」文件夾。替代使用dp-width作爲不同佈局的鑑別器?
我在Samsung Galaxy Note 2(5.5「)和Samsung Galaxy S4 mini(4.3」)上測試了我的應用程序。由於可用空間的原因,它們都以不同的方式顯示佈局,因此需要不同的佈局文件。
下面是問題:它們都報告640的dp寬度。Note有dp因數爲2,像素寬度爲1280,S4 mini的dp因數爲1.5,寬度爲960像素。我怎樣才能爲設備使用不同的佈局文件?在物理尺寸方面存在着相當大的差異,我非常誠實地想知道「設備無關」測量報告每個設備的寬度相同的原因。
是否有任何其他方式使用不同的設備佈局文件?
編輯:由於內部限制,我無法提供應用程序的圖像,但基本上我需要爲我的按鈕使用不同的背景,因爲「wrap_content」會考慮背景大小(以像素爲單位) ,由於密度較低,因此使它們在S4 mini上更大。如果我不這樣做,S4上的按鈕太大並且重疊。
在此先感謝!
這個佈局顯示在兩個設備上有多大不同?你能提供截圖以及佈局xml嗎? – helleye 2014-09-03 08:51:32
@helleye:我編輯了我的問題 – BoltzmannBrain 2014-09-03 08:58:14