如何在应用程序类中获取屏幕显示指标

时间:2012-02-02 14:55:21

标签: android metrics

如果我把它放在一些活动类中它可以很好地工作,但是当我把它放在我的App类中时,找不到方法getWindowManager()。有没有办法在应用程序类中获取WindowManager?

我的app类定义如下:

public class myApp extends Application {

在创建方法中我有这个:

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
int width = dm.widthPixels;

6 个答案:

答案 0 :(得分:61)

此处Context.getResource()

DisplayMetrics dm = getResources().getDisplayMetrics(); 
int densityDpi = dm.densityDpi;

答案 1 :(得分:11)

你也可以试试这个:

WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
final DisplayMetrics displayMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;

答案 2 :(得分:1)

试试这个:

Display display = getWindowManager().getDefaultDisplay();
Log.e("", "" + display.getHeight() + " " + display.getWidth());

答案 3 :(得分:0)

final DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);

int width = dm.widthPixels;
int height = dm.heightPixels;

getWindow().setLayout((int) (width * .8), (int) (height * .5));

答案 4 :(得分:0)

希望这对您有用

DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int pxWidth = displayMetrics.widthPixels;
int pxHeight = displayMetrics.heightPixels;

答案 5 :(得分:0)

无上下文使用-

Resources.getSystem().displayMetrics.widthPixels

具有上下文-

context?.resources?.displayMetrics?.widthPixels

注意:getWindowManager().getDefaultDisplay().getMetrics(dm);在新的API中返回void