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