2015-04-03 16 views
0

我正在尋找一種方法在所有設備上保持視圖大小的比例。我對許多數學計算進行了實驗(例如,混合屏幕尺寸,密度,百分比等),但沒有找到任何解決方案,只是測試每個設備的結果不同。Android如何評估視圖大小以在所有設備中保持相同比例

讓我舉個例子:假設我正在sw-360dp上測試一個應用程序,並最終找到可用的大小視圖。

relativeLayoutParams.width = 150; 

relativeLayoutParams.height = 250; 

這樣做的效果是創建一個大小約爲屏幕寬度1/3和屏幕高度1/2的視圖。

我該如何動態地得出寬度和高度值,讓視圖保持1/3寬度到1/2高度的寬高比?至少我認爲這就是文檔所說的:「從屏幕尺寸的百分比計算確切的視圖尺寸(或邊距,填充等)」。

還是我誤解了?

任何幫助將不勝感激。

+0

簡單的原因,在** ** DP s,而不是 – 2015-04-03 07:43:04

回答

0

你可以得到設備的屏幕尺寸和通過有明確的比例,

Display display = getWindowManager().getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 

然後,

width = (int) size.x * 1/3 ; 
    height = (int) size.y * 1/2 ; 
+0

非常感謝你的像素。只是一個問題:這個解決方案是否獨立工作的屏幕密度獨立? – javaman 2015-04-03 14:33:31

+0

是的,我已經測試過了。如果它幫助你,也接受答案。 – 2015-04-03 14:40:17

相關問題