Android -- DisplayMetrics

干货

DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
screenWidth = dm.widthPixels;
screenHeight = dm.heightPixels;
density = dm.density;
densityDpi = dm.densityDpi;
scaledDensity = dm.scaledDensity;  

DisplayMetrics metrics = dm;
Log.i("yydcdut", "metrics::density=" + metrics.density
            +", densityDpi="+metrics.densityDpi
            +", heightPixels="+metrics.heightPixels
            +", widthPixels="+metrics.widthPixels
            +", scaledDensity="+metrics.scaledDensity
            +", xdpi="+metrics.xdpi
            +", ydpi="+metrics.ydpi);

Log打印出来:

metrics::density=1.5, densityDpi=240, heightPixels=854, widthPixels=480, scaledDensity=1.5, xdpi=239.05882, ydpi=243.72585
  • metrics.widthPixels           屏幕宽
  • metrics.heightPixels          屏幕高
  • metrics.density                  屏幕密度

构造函数 DisplayMetrics 不需要传递任何参数;调用 getWindowManager() 之后,会取得 现有 Activity 的 Handle ,此时,getDefaultDisplay() 方法将取得的宽高维度存放于 DisplayMetrics 对象中,而取得的宽高维度是以像素为单位(Pixel) ,“像素”所指的是“绝对像素” 而非“相对像素”。

我是天王盖地虎的分割线

时间: 2024-12-12 18:28:45

Android -- DisplayMetrics的相关文章

Android DisplayMetrics 获取和屏幕相关的信息

Android源码中是这样来描述DisplayMetrics的. /** * A structure describing general information about a display, such as its * size, density, and font scaling. * <p>To access the DisplayMetrics members, initialize an object like this:</p> * <pre> Disp

android DisplayMetrics 获取屏幕分辨率

Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体. 为了获取DisplayMetrics 成员,首先初始化一个对象如下: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetri

Android获取屏幕分辨率及DisplayMetrics

DisplayMetrics简介: Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题. Android 提供DisplayMetircs 类可以很方便的获取分辨率.Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小, 分辨率和字体. 为了获取DisplayMetrics 成员,首先初始化一个对象如下: DisplayMetrics metrics =newD

Android获取设备分辨率的新方法 DisplayMetrics

Android 手机分辨率多种多样,作为开发者,做出的软件不能只兼顾一种或几种手机,而要在尽量多的手机上达到另我们满意的现实效果.Android在设计之初,系统 就被设计为一个可以在多种不同分辨率的设备上运行的操作系统.对于应用程序来说,系统平台向它们提供的是一个稳定的,跨平台的运行环境,而关于如何将程序 以正确的方式显示到它所运行的平台上所需要的大部分技术细节,都由系统本身进行了处理,无需程序的干预.但毕竟效果有限,有时候我们还需要自己针对设备的 分辨率对程序优化. 在做五子棋的过程中,为了使

Android获取屏幕分辨率及DisplayMetrics简介

Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题. 手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率.下面简要介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体. 为了获取DisplayMetrics 成员,首先初始化一个对象如

Android ViewPager使用详解

转载自博客:http://blog.csdn.net/alangdangjia/article/details/9054921/ 这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如何使用它呢,与LisstView类似,我们也需要一个适配器,他就是PagerAdapter.看一下api的图片, ViewPager的功能就是可以使视图滑动,就像Lanu

Android Banner 广告条

package com.example.ex_templete; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.util.AttributeSet; import android.util.

常用Android代码

这里收集了大家常用的一些Android代码,持续更新中,内容来自自己的平时积累和网络上看到的文章,部分原文地址在最下方.如有错误欢迎指正里面可能会有重复内容,请忽略或者提醒我删除. setBackgroundResource(0) 可以移除 View 的背景色 Resources.getSystem().getDisplayMetrics().density 可以不用 Context 也能获取屏幕密度哦 通过重载 ViewGroup 的 dispatchDraw 可以实现一个简单的蒙版效果. 例

【Android 工具类】经常使用工具类(方法)大全

收集经常使用的工具类或者方法: 1.获取手机分辨率 /** * 获取手机分辨率 */ public static String getDisplayMetrix(Context context) { if (Constant.Screen.SCREEN_WIDTH == 0 || Constant.Screen.SCREEN_HEIGHT == 0) { if (context != null) { int width = 0; int height = 0; SharedPreferences