那么我该如何编写代码来适应这种情况呢?我不想在我的代码中留下已弃用的 API 调用,但我也不想失去使用(稍微)旧设备的用户。我可以实现某种兼容性设置吗?
相对。代码
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screen_width = size.x;
int screen_height = size.y;
对比旧方法:
int screen_width = getWindowManager().getDefaultDisplay().getWidth();
int screen_height = getWindowManager().getDefaultDisplay().getHeight();
最佳答案
我有两个函数,发送上下文和获取以像素为单位的高度和宽度。
public static int getWidth(Context mContext){
int width=0;
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.HONEYCOMB){
Point size = new Point();
display.getSize(size);
width = size.x;
}
else{
width = display.getWidth(); // deprecated
}
return width;
}
和
public static int getHeight(Context mContext){
int height=0;
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.HONEYCOMB){
Point size = new Point();
display.getSize(size);
height = size.y;
}else{
height = display.getHeight(); // deprecated
}
return height;
}
关于android - 旧版 Android 操作系统不支持 getSize(),getWidth()/getHeight() 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439033/