我想获得屏幕大小并且我正在使用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;
答案 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获得。