2013-09-29 88 views
0

我一直在使用7英寸設備上的應用程序出現問題。爲了進行調試,我添加了一個在應用程序加載後顯示的Toast消息,告訴我該應用程序正在使用哪個資源文件夾,即。哪些限定符。 我有以下每個資源文件夾中的strings.xml文件:Android系統正在選擇錯誤的資源文件夾

值正常

值,大

價值觀XLARGE

價值觀sw600dp

values-sw720dp

Toast消息使用的字符串內容基於字符串所在的文件夾。 我也有六個佈局文件夾與上述相同的限定符,並且我在所有六個佈局文件夾中都有有效的佈局xml文件。我的應用程序在「普通」屏幕和10英寸平板電腦屏幕上完美運行。

麻煩的7英寸設備(我的伴侶)是一個廉價的'Audiosonic'運行Android 4.1.1。顯然,分辨率是800x480,屏幕的實際最小寬度是86mm或3.4英寸。這意味着142dpi。

給出的等式

DP =(象素×160)/ DPI

最小寬度應541dp。

現在來了瘋狂的一部分,和我的問題......爲什麼地球上的我的應用程序在這個7英寸的設備上使用sw720dp資源(佈局和字符串)?!

回答

0

檢查此答案,並使用配置和顯示類來解釋屏幕分辨率,密度和佈局系列(正常,大,...)以確定此設備的實際屬性。製造商可以決定將設備置於與您所期望的不同系列。

How do I get the ScreenSize programmatically in android

+0

該設備運行的是Android 4.1.1了,所以4不贊成使用「屏幕大小水桶」應該考慮到我提供sw600dp資源無關。 –

+0

更重要的是,我不明白爲什麼sw720dp資源會在7英寸屏幕上被選中。我可以看到爲什麼sw600dp資源可能無法使用,但肯定sw720dp資源永遠不會比我提供的任何已棄用的存儲桶更好匹配? –

+0

您是否嘗試通過編程獲取該信息? – fasteque