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

Posted

技术标签:

【中文标题】如何在应用程序类中获取屏幕显示指标【英文标题】:How to get screen display metrics in application class 【发布时间】:2012-02-25 05:33:51 【问题描述】:

如果我把它放在某个活动类中,它可以完美地工作,但是当我把它放在我的 App 类中时,找不到方法 getWindowManager()。有什么方法可以在 app 类中获取 WindowManager 吗?

我的应用类是这样定义的:

public class myApp extends Application 

在创建方法中我有这个:

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

【问题讨论】:

【参考方案1】:

这里,Context.getResource()

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

【讨论】:

【参考方案2】:

你也可以试试这个:

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

【讨论】:

【参考方案3】:

试试这个:

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

【讨论】:

Application类中无法获取getWindowManager。 @NiteshKhosla 你能指出任何文档向我们展示 Application 类包含一个方法 getWindowManager() 吗?我在这里找不到:developer.android.com/reference/android/app/Application.html【参考方案4】:

希望这对你有用

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

【讨论】:

【参考方案5】:

不使用上下文 -

Resources.getSystem().displayMetrics.widthPixels

有上下文-

context?.resources?.displayMetrics?.widthPixels

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

【讨论】:

【参考方案6】:
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));

【讨论】:

以上是关于如何在应用程序类中获取屏幕显示指标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xcode4.3 中获取和修改显示屏幕尺寸

在 Kivy 中,我如何从另一个以 kv 语言显示的另一个屏幕获取变量

无法获取 pod 指标 -Kubernetes

如何在initState中调用cubit类中的函数?

如何在 kivymd 功能开始时显示加载屏幕?

如何从另一个类中获取字符串变量