Android使用Displaymetrics类获取一下手机屏幕中的一些信息

今天学习一下使用Displaymetrics类获取一下手机屏幕中的一些信息

首先看下文档中的讲解

这个类中包含 描述大小,宽度,字体缩放和其一些其他信息,我们要访问的DisplayMetrics成员,初始化一个这样的对象:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

返回值 属性 说明

float density 显示屏幕密度

int heightPixels 显示屏幕绝对高度 单位 像素

float scaledDensity

int widthPixels 显示屏幕绝对宽度 单位 像素

float xdpi

float ydpi

在上面比较常用的应该是我们要去获取屏幕的分辨率了,虽然我们在Android开发的时候可以随着窗口的大小去调整改变缩放的比例,但是如果我们能清楚的知道手机屏幕的信息,这样我在布局的时候,不至于或出现因为缩放还造成布局出现变形等等问题

下面看下Demo源代码:

package com.android; import android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import android.util.Log; /** * Demo:通过DisplayMetrices类来获取手机屏幕的一些参数 * * @author jiangqq * */ public class DisplayMetricsDemo extends Activity { private static final String TAG = "DisplayMetricsDemo"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.displaymetrices); DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); Log.i(TAG, "手机屏幕分辨率:" + displayMetrics.widthPixels + "X" + displayMetrics.heightPixels); Log.i(TAG, "密度:" + displayMetrics.density); Log.i(TAG, "使用每英寸的像素点来显示密度:" + displayMetrics.densityDpi); Log.i(TAG, displayMetrics.xdpi + "," + displayMetrics.ydpi); Log.i(TAG, displayMetrics.scaledDensity + ""); } }


打印出屏幕信息截图 这里打印出来的屏幕分辨都是以像素为单位的,而且是绝对的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值