android - 在非 Activity 扩展类中获取屏幕尺寸(Android)

标签 android android-activity screen dimension

出于某种原因,我必须在非 Activity 扩展类中获取屏幕尺寸。我尝试使用以下方法:

DisplayMetrics metrics = this.getResources().getDisplayMetrics();
int w = metrics.widthPixels;

所以我可以使用“w”作为以像素为单位的宽度尺寸。但是,似乎此方法仅适用于扩展 Activity 的类。有什么解决办法吗?

谢谢大家。

最佳答案

您必须通过类的构造函数传入上下文:

public class Something {

    Context context;

    public Something(Context context){
        this.context = context;
    }

    public int getDisplayWidth(){
        DisplayMetrics metrics = this.context.getResources().getDisplayMetrics();
        int w = metrics.widthPixels;
        return w;
    }
}

关于android - 在非 Activity 扩展类中获取屏幕尺寸(Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19068750/

相关文章:

android - 用于第 3 方/内置应用程序的 iPhone 自动化

android 通用的 OnItemClickListener 和单独的按钮监听器

android - 应该开始的时候 Activity 停止了

java - Android - 关闭一个 Activity 后,当我再次运行该应用程序时,两个 Activity 同时运行。我怎样才能避免它?

android系统动画时长

android - 如何在 Android 11 中创建从图库中选择图像的 Intent ?

java - 如何使卡片 View 的移动更加流畅?

java - Android 中使用的布局文件可以是默认的,也可以是 mdpi 的

android - 如何设置单选按钮的宽度以根据屏幕尺寸进行更改? (安卓)

ios - Xcode 4.5 背景图像 iPhone 4、4s、5