gab*_*jan 50 android deprecated width
所以我有一个小问题,我正在编写一个需要向服务器发送屏幕宽度的功能.我得到了一切工作,我使用:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
Run Code Online (Sandbox Code Playgroud)
获得宽度.但是.getWidht()函数已被弃用,它表示你需要使用:
Point size = new Point();
display.getSize(size);
Run Code Online (Sandbox Code Playgroud)
但是这个功能只适用于api等级13或更高,而我的最小sdk是8.那我该怎么办?如果我留在getWidth是否安全?为什么要添加新功能而不使它们向后兼容?
iBo*_*Bog 113
可能这种方法会有所帮助:
DisplayMetrics displaymetrics = new DisplayMetrics();
mContext.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int screenWidth = displaymetrics.widthPixels;
int screenHeight = displaymetrics.heightPixels;
Run Code Online (Sandbox Code Playgroud)
nmw*_*nmw 11
您可以在运行时检查API级别,并选择要使用的级别,例如:
final int version = android.os.Build.VERSION.SDK_INT;
final int width;
if (version >= 13)
{
Point size = new Point();
display.getSize(size);
width = size.x;
}
else
{
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth();
}
Run Code Online (Sandbox Code Playgroud)
这是没有弃用的最新代码。
科特林
val metrics: DisplayMetrics = this.getResources().getDisplayMetrics()
val width = metrics.widthPixels
Run Code Online (Sandbox Code Playgroud)
爪哇
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28561 次 |
| 最近记录: |