[英]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.