Android 如何正确获取和计算手机屏幕的(对角)英寸?在线等

梅明子 2016-12-29 05:13:29
网上随便搜索copy过来的就请您不要回答了!因为我已经百度了一下午,也试了一下午,发现搜到的都是不准确的。比如5.0计算得到的却是4.6或4.4等... 有解决过这个问题的大神吗?欢迎讨论


/**
* 获取屏幕尺寸大小(英寸)
*
* @param context
* @return
*/
@SuppressLint("NewApi")
public static double getScreenInch(Activity context) {
// DisplayMetrics dm = new DisplayMetrics();
// context.getWindowManager().getDefaultDisplay().getMetrics(dm);
// int width = dm.widthPixels;
// int height = dm.heightPixels;
// int dens = dm.densityDpi;
// double wi = (double) width / (double) dens;
// double hi = (double) height / (double) dens;
// double x = Math.pow(wi, 2);
// double y = Math.pow(hi, 2);
// double screenInches = Math.sqrt(x + y);
// return TextUtil.formatDouble(screenInches, 1);

DisplayMetrics metric = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels;
int height = metric.heightPixels;
int densityDpi = metric.densityDpi;// 屏幕密度DPI(120 / 160 / 240)
double diagonalPixels = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));
double screenInches = diagonalPixels / densityDpi;
return TextUtil.formatDouble(screenInches, 1);
}


这些代码都是不准确的!
...全文
260 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧