无法获得显示指标

时间:2013-09-26 20:58:52

标签: java android screen-resolution getresource

我正在制作一款在屏幕上显示动画角色的游戏 现在我正处于我希望它在其他设备上正确显示的阶段 增加我自己的设备上的屏幕分辨率,并使其仍然正确显示 为此,我想获得比例因子,以便我可以将所有像素值更改为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都保持不变,即使它确实在显示器上显示增加的屏幕分辨率

2 个答案:

答案 0 :(得分:0)

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

DisplayMetrics metrics = getResources().getDisplayMetrics();

答案 1 :(得分: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));