簡體   English   中英

無法獲取顯示指標

[英]unable to get display metrics

我正在制作一個在屏幕上顯示動畫角色的游戲。現在,我要在其他設備上正確顯示該動畫,同時提高自己設備上的屏幕分辨率,並為此仍然正確顯示,我想要比例因子,因此我可以將所有像素值都更改為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和比例尺確實在顯示屏上顯示出提高的屏幕分辨率,它們也保持不變

您可以使用下面的行獲取顯示指標。

DisplayMetrics metrics = getResources().getDisplayMetrics();

這是我顯示牆紙的代碼,可能是它的幫助全=====>

    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));

(要么)

    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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM