java - 如何在 Android Studio 中显示屏幕尺寸(简单方式)?
问题描述
我正在尝试向 logcat 显示屏幕宽度和高度。
但是对于像我这样刚接触Android StudioDisplayMetrics
和Display
在 Android Studio 中的人来说,公认的解决方案是令人困惑和复杂的。
目前,我知道如何做到这一点:
public class ScreenUtility {
private Activity activity;
private Float dpHeight, dpWidth;
public ScreenUtility(Activity activity) {
this.activity = activity;
Display display = activity.getWindowManager().getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
float density = activity.getResources().getDisplayMetrics().density;
dpHeight = displayMetrics.heightPixels / density;
dpHeight = displayMetrics.widthPixels / density;
}
public Float getDpHeight() {
return dpHeight;
}
public Float getDpWidth() {
return dpWidth;
}
}
但是,.getMetrics
已弃用。因此,代码将宽度和高度返回为null
.
(我正在观看有关这些概念的旧视频)有什么办法可以更改此代码并将我的知识调整为
Display
和的现代方法DisplayMetrics
?有
DisplayMetrics
什么Display
不同?在文档中,它将它们描述为提供显示大小的两种工具。或者被DisplayMetrics
用作参数Display
?
谢谢!!
解决方案
这是显示屏幕高度和宽度的方法
try{
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
Log.e("test","Height : " + height + " width : " + width);
}
catch(Exception e){
Log.e("test","exception : " + e.toString());
}
推荐阅读
- c# - 具有多个 from 子句的 Lambda LINQ 查询
- javascript - 自定义拖放实现
- mqtt - MQTT 订阅
- monaco-editor - 是否可以使用 monaco 编辑器禁用智能感知下拉菜单?
- javascript - javascript中原型之间的平等
- java - OAN - Aion 质押池 - 将 blocksigner 放入 docker 容器中
- postgresql-11 - 您可以在 postgresql 的存储过程中的插入语句中的临时行上引用聚合函数吗?
- angular - 将 matTooltip 绑定到 2 个值
- android - Google Api 错误:releasesRolloutTrackNotAllowed:不支持 ROLLOUT 轨道中的发布
- reactjs - JSX 的#region