android - API 级别 10 及以后的屏幕尺寸?

标签 android

我想获取屏幕尺寸,我使用的是 API 级别 10 的设备。我使用 Display 获取宽度和高度,但我收到一条消息Eclipse 认为这已被弃用。一种更好更新的方法是对具有较新 API 的应用程序使用 DisplayMetrics,但 API 10 中不支持 DisplayMetrics。我应该如何处理这个问题问题?

旧(已弃用)

Display display = getWindowManager().getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.heightPixels;
metrics.widthPixels;

最佳答案

只需像这样检查 API 级别:

int screenWidth = 0;
int screenHeight = 0;   
if(android.os.Build.VERSION.SDK_INT < 10) {
    Display display = getWindowManager().getDefaultDisplay();
    screenWidth = display.getWidth();
    screenHeight = display.getHeight();
} else {
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    screenWidth = metrics.widthPixels;
    screenHeight = metrics.heightPixels;
}

但是DisplayMetricsAPI 级别 1 中添加。所以实际上你只需要 else 子句。

关于android - API 级别 10 及以后的屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18350778/

相关文章:

java - 使用字符串引用数组列表的自定义类成员

android - 在android相机中上传捕获的图像的问题

java - 音频延迟-Java程序到Android程序

android - android中带有背景颜色的圆角按钮

android - 无法通过 ID 或标签找到 fragment ......但它在那里

android - 支持库中的 WakefulBroadcastReceiver 与 commonsware 的 cwac-wakeful

android - 如何在 android Kotlin 中获取以前的 Activity

java - 为具有不同对象的嵌套 json 改造 gson 转换器

Android 屏幕尺寸算法/模式

android - 无法在带有大文本 : "Font size too large to fit in cache" 的 Android TextView 中显示 Unicode 字符(表情符号)