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 都保持不变,即使它确实在显示器上显示了增加的屏幕分辨率

4

2 回答 2

0

您可以使用以下行获取显示指标。

DisplayMetrics metrics = getResources().getDisplayMetrics();
于 2013-09-26T21:08:37.757 回答
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));

(或者)

    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));
于 2017-08-04T09:32:23.417 回答