2017-04-10 107 views
0

作爲該圖像中看出: enter image description here的Android屏幕尺寸不一致

我有一個圓角矩形的1082 X 1796的大小,以及我用getWindowManager().getDefaultDisplay()得到並且如看到的打印屏幕的像素值左下方的圓圈。但是,當我繪製此位圖時,會發生這種情況: enter image description here

屏幕大小是否與getDefaultDisplay()方法不同?我該如何解決?

回答

0

我認爲你的形狀被系統視爲9patch。它使用第一行和最後一行/列來知道如何調整圖像大小以便一致地顯示。

這就是爲什麼寬度和高度存在2px差異的原因。我認爲你可以通過修改png和刪除第一行和最後一行/列來糾正它,或者用另一種方法繪製圖像。也許使用其他格式(jpg?bmp?)可以完成這項工作。我不確定。

0

你可以做到這一點與計算,以適應基於設備屏幕的寬度和高度,所有的屏幕設備:

DisplayMetrics dm = new DisplayMetrics(); 
         ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(dm); 

int width = dm.widthPixels; 
int height = width * imageHeight/imageWidth; 

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, height);