我有2片:大小不同的2個設備,即使我使用 「DP」
1三星的Android 3.0
DisplayMetrics {density=1.0, width=600, height=976,
scaledDensity=1.0, xdpi=161.55031, ydpi=155.51021}
1低成本設備,安卓2.3.3
DisplayMetrics {density=1.0, width=480, height=800,
scaledDensity=1.0, xdpi=160, ydpi=160.42105}
如果我對每個屏幕尺寸使用不同的佈局,那麼兩個設備都表示它們是long-long和mdpi,所以我無法通過使用佈局文件夾名稱來區分它們......問題是:
我使用TextView和textSize =「20dp」
在第一個設備中,文本寬度是屏幕的一半,在第二個設備中更大(屏幕寬度的80%)。爲什麼?我期望如果我使用dp(而不是px),兩個設備都以相同的方式顯示文本。我也試圖與SP,但沒有任何變化......
(我用的TextView作爲例子,我有同樣的問題,在佈局中的所有元素:按鈕大小,...)
我會嘗試使用佈局文件夾名稱,如「layout-w600dp」或Android 3.2中引入的其他內容,但事實並非如此。
我知道我可以通過代碼onLayout(變化元件尺寸),但我不想這樣做...
什麼建議嗎?
更新
我解決我的問題,使用主題佈局:Activate a specific dimens.xml at runtime
我有2個相似的硬件確切的問題實現畫面的50%。樣式是否解決了文本大小和圖像的問題?如果兩個設備都不能被刪除,你怎麼知道應該選擇哪種佈局 – Snake
你怎麼能說2個設備是不可區分的?你有沒有試過看密度和分辨率? DisplayMetrics都一樣嗎? –
我有兩個設備顯示顯示指標。兩者都與xdpi,ydpi中的小差異類似。當我說他們是一樣的我的意思是他們都是中等規模的大屏幕尺寸的設備。然而,圖像尺寸/按鈕尺寸不同 – Snake