2013-09-26 61 views
0

我在做一個遊戲,我在那裏我希望它在其他設備上正確顯示以及舞臺屏幕 現在上顯示的動畫人物 提高我自己的設備上的屏幕分辨率,並具有它仍然顯示該正確 我想要得到的比例因子,所以我可以改變我的所有像素值的DP值 但是,顯示指標並不無論什麼我更改屏幕分辨率無法得到顯示指標

例如

改變
this.getHolder().setFixedSize(1024, 768); 
scale = getResources().getDisplayMetrics().density; 
DisplayMetrics dm = new DisplayMetrics(); 
((Activity) getContext()).getWindowManager().getDefaultDisplay() 
    .getMetrics(dm); 
float xDpi = dm.xdpi; 
float yDpi = dm.ydpi; 

現在無論我更改'setfixedsize'爲什麼,xdpi和scale都保持不變,即使它顯示屏上顯示的分辨率提高了。

+0

的http://計算器.com/questions/5078808/android-showing-wrong-screen-resolution?rq = 1 – Sean

回答

0

您可以使用下面的行獲得顯示度量標準。

DisplayMetrics metrics = getResources().getDisplayMetrics(); 
+0

正如我在我的問題中所述。我的問題是沒有得到displaymetrics。我的問題是理解爲什麼當我使用setFixedSize更改分辨率時,displaymetrics不會更改,但我的屏幕顯示不同的分辨率 – heckubiss

+1

我不認爲您實際上可以更改設備displaymetrics的值,您將不得不閱讀displaymetrics並更改其大小相應的佈局。 – 2013-09-29 07:42:24

0

這是我的顯示壁紙的代碼可能是它的幫助充滿=====>

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 
    float w = size.x; 
    float h = size.y; 
    width = ((w)/1000); 
    height = ((h)/1000); 
    Log.d("width===>", String.valueOf(width)); 
    Log.d("height===>", String.valueOf(height)); 

(OR)

metrics = Resources.getSystem().getDisplayMetrics(); 
    float w=metrics.widthPixels; 
    float h=metrics.heightPixels; 

    width = ((w)/1000); 
    height = ((h)/1000); 
    if(width == 0.72f && height == 1.28f){ 
     width=1.08f; 
     height=1.776f; 

    } 
    Log.d("width===>", String.valueOf(width)); 
    Log.d("height===>", String.valueOf(height));