屏幕尺寸在API级别10和前进?

时间:2013-08-21 07:00:26

标签: android

我想获得屏幕大小并且我正在使用API​​级别为10的设备。我正在使用Display来获取宽度和高度,但我在Eclipse中收到一条消息已弃用。更好,更新的方法是将DisplayMetrics用于具有较新API的应用,但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;

2 个答案:

答案 0 :(得分:7)

只需检查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;
}

API level 1中添加了DisplayMetrics。所以实际上你只需要else子句。

答案 1 :(得分:0)

在我的应用程序中,我直接在活动对象上使用getResources().getDisplayMetrics()。它确切地给了我屏幕尺寸。它工作正常,因为它可以从API级别1获得。