DisplayMetrics类
2016-03-16 09:57
239 查看
DisplayMetrics类
DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息
public class DisplayMetrics extends Object
java.lang.Object
↳android.util.DisplayMetrics
类概述
描述一个显示屏的基本信息,像尺寸,密度,字体缩放等.
获取DisplayMetrics成员,初始化对象:
DisplayMetrics metrics =newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
概述
一、常量
int DENSITY_DEFAULT 整个系统使用的参考密度,系统默认参考密度
int DENSITY_HIGH 高密度显示屏的标准量化DPI
int DENSITY_LOW 低密度显示屏的标准量化DPI
int DENSITY_MEDIUM 中密度显示屏的标准量化DPI
int DENSITY_TV 针对一些常见显示屏设置的次要密度
int DENSITY_XHIGH 超高密度显示屏的标准量化DPI
int DENSITY_XXHIGH 超超高密度显示屏的标准量化DPI
二、字段(Fields)
public float density 显示屏的逻辑密度
public int densityDpi 用DPI(每英寸点数)表示显示屏密度
public int heightPixels 绝对像素高度
public float scaledDensity 显示字体的缩放因子
public int widthPixels 绝对像素宽度
public float xdpi X方向上每英寸显示屏物理像素
public float ydpi Y方向上每英寸显示屏物理像素
三、公共构造函数
DisplayMestrics()
四、公共方法
boolean equals(Object o) 让这实例跟指定对象比较,确定是否相等
boolean equals(DisplayMetrics other) 比较两个metrics,相等返回true
int hasCode() 给对象返回一个整数hash码
void setTo(DisplayMetrics o)
void setToDefaults()
String toString() 返回一个人类可读的简洁字符串
五、从类java.lang.Object继承的方法
常量
public static final int DENSITY_DEFAULT
Added in API level 4
整个系统使用的参考密度,系统默认参考密度.
常数值: 160 (0x000000a0)
public static final int DENSITY_HIGH
Added in API level 4
高密度显示屏的标准量化DPI
常数值: 240 (0x000000f0)
public static final int DENSITY_LOW
Added in API level 4
低密度显示屏的标准量化DPI
常数值: 120 (0x00000078)
public static final int DENSITY_MEDIUM
Added in API level 4
中密度显示屏的标准量化DPI
常数值: 160 (0x000000a0)
public static final int DENSITY_TV
Added in API level 13
这是次要密度,添加到一些常见的显示屏设置。建议应用程序不要把该常量作为主要密度,也就是说不要为这密度提供特定的图形,合理的是允许平台从别的密度(通常是DENSITY_HIGH高密度)缩放到这个密度。在大多数情况下(比如在Drawable里使用bitmaps), 平台能在load time(载入的时间里)实施缩放,所以唯一的开销是微小的启动运行开销。
该密度起先是为了对应720p TV显示屏而介绍的,1080p 电视的密度是DENSITY_XHIGH, 这里的值给720p TV提供了同样的UI尺寸。当这些设备显示屏是1280x720时,7" tablets(平板)里也有使用。
常量值: 213 (0x000000d5)
public static final int DENSITY_XHIGH
Added in API level 9
超高密度显示屏的标准量化DPI。
常数值: 320 (0x00000140)
public static final int DENSITY_XXHIGH
Added in API level 16
extra-extra-high-density(超超高密度)显示屏的标准量化DPI。应用程序基本上不需要当心这个密度, 相信在所有情况下从XHIGH图形放大到该密度也应该该足够使用。
常数值: 480 (0x000001e0)
Fields(字段)
public float density
Added in API level 1
显示屏的逻辑密度。这是密度独立像素(dip)单元的缩放因子,为系统显示提供基线。一个DIP 是大约160 dpi 显示屏上的一个像素 (比如 一个 240x320, 1.5"x2" 显示屏)。所以160dpi显示屏,密度值是1; 120dpi 显示屏密度值为0.75。
该值不完全按照实际屏幕尺寸(就像xdpi 和 ydpi 给出的尺寸,常常是由overall UI(整体界面)根据显示DPI的总变化逐步缩放而成的)。比如,一个 240x320 屏幕的密度值为1,即使它的宽度是1.8", 1.3"等。然而,如果屏幕分辨率增加到 320x480,但是屏幕尺寸依旧是1.5"x2",那么密度值将增加(可能到1.5)。
也可参见
DENSITY_DEFAULT
public int densityDpi
Added in API level 4
用dots-per-inch(dpi)表示显示屏密度。可能是DENSITY_LOW, DENSITY_MEDIUM, 或 DENSITY_HIGH。
public int heightPixels
Added in API level 1
显示的绝对像素高度
public float scaledDensity
Added in API level 1
显示字体的缩放因子。 跟density(密度)一样,除了它可能会在运行时基于用户偏好的字体大小以较小的增量调整。
public int widthPixels
Added in API level 1
显示的绝对像素宽度
public float xdpi
Added in API level 1
X方向上每英寸显示屏物理像素
public float ydpi
Added in API level 1
Y方向上每英寸显示屏物理像素
公共构造函数
public DisplayMetrics ()
Added in API level 1
公共方法
public boolean equals (Object o)
Added in API level 1
让该实例跟指定对象进行比较,确定他们是否相等。为了让他们相等,o必须跟该实例表示同一对象,用特定类进行比较。一般情况下,该比较应该是自反,对称和可传递的。 Also, no object reference other than null is equal to null.
仅当this == o 时,默认实现返回true. 参见 Writing a correct equals method 如果你打算实现自己的equals 方法。
如果两个对象的equals都返回true,hashCode()肯定返回跟同样的hash code值。也就是说,对象的子类要么重写这2个方法(equals(Object o) 和 hashCode() ),要么一个都不重写。
参数
O 跟这实例比较的对象
返回值
true 指定对象跟该对象相等;否则返回false
public boolean equals (DisplayMetrics other)
Added in API level 17
如果这些display metrics 跟别的 display metrics 相等,则返回true
参数
other 要比较的另一个 display metrics
返回值
如果两个display metrics相等,则返回true
public int hashCode ()
Added in API level 1
为对象返回一个整数hash code(哈希码)。 任何2个对象的方法equals(Object)返回值为true时,一定返回同样的哈希值。也就是说,对象的子类要么重写这2个方法(equals(Object o) 和 hashCode() ),要么一个都不重写。
运行过程中哈希值不能改变,除非在equals方法里用的信息发生改变。
参见 Writing a correct hashCode method 如果你打算实现自己的hashCode 方法
返回值
对象的哈希值
public void setTo (DisplayMetrics o)
Added in API level 1
public void setToDefaults ()
Added in API level 1
public String toString ()
Added in API level 1
返回一个人类可读的对象描述。 建议子类重写这个方法,提供对象类型和数据的实现。默认实现跟以下表达式相同:
getClass().getName()+'@'+Integer.toHexString(hashCode())
参见 Writing a useful toString method 如果你想实现自己的toString 方法
DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息
public class DisplayMetrics extends Object
java.lang.Object
↳android.util.DisplayMetrics
类概述
描述一个显示屏的基本信息,像尺寸,密度,字体缩放等.
获取DisplayMetrics成员,初始化对象:
DisplayMetrics metrics =newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
概述
一、常量
int DENSITY_DEFAULT 整个系统使用的参考密度,系统默认参考密度
int DENSITY_HIGH 高密度显示屏的标准量化DPI
int DENSITY_LOW 低密度显示屏的标准量化DPI
int DENSITY_MEDIUM 中密度显示屏的标准量化DPI
int DENSITY_TV 针对一些常见显示屏设置的次要密度
int DENSITY_XHIGH 超高密度显示屏的标准量化DPI
int DENSITY_XXHIGH 超超高密度显示屏的标准量化DPI
二、字段(Fields)
public float density 显示屏的逻辑密度
public int densityDpi 用DPI(每英寸点数)表示显示屏密度
public int heightPixels 绝对像素高度
public float scaledDensity 显示字体的缩放因子
public int widthPixels 绝对像素宽度
public float xdpi X方向上每英寸显示屏物理像素
public float ydpi Y方向上每英寸显示屏物理像素
三、公共构造函数
DisplayMestrics()
四、公共方法
boolean equals(Object o) 让这实例跟指定对象比较,确定是否相等
boolean equals(DisplayMetrics other) 比较两个metrics,相等返回true
int hasCode() 给对象返回一个整数hash码
void setTo(DisplayMetrics o)
void setToDefaults()
String toString() 返回一个人类可读的简洁字符串
五、从类java.lang.Object继承的方法
常量
public static final int DENSITY_DEFAULT
Added in API level 4
整个系统使用的参考密度,系统默认参考密度.
常数值: 160 (0x000000a0)
public static final int DENSITY_HIGH
Added in API level 4
高密度显示屏的标准量化DPI
常数值: 240 (0x000000f0)
public static final int DENSITY_LOW
Added in API level 4
低密度显示屏的标准量化DPI
常数值: 120 (0x00000078)
public static final int DENSITY_MEDIUM
Added in API level 4
中密度显示屏的标准量化DPI
常数值: 160 (0x000000a0)
public static final int DENSITY_TV
Added in API level 13
这是次要密度,添加到一些常见的显示屏设置。建议应用程序不要把该常量作为主要密度,也就是说不要为这密度提供特定的图形,合理的是允许平台从别的密度(通常是DENSITY_HIGH高密度)缩放到这个密度。在大多数情况下(比如在Drawable里使用bitmaps), 平台能在load time(载入的时间里)实施缩放,所以唯一的开销是微小的启动运行开销。
该密度起先是为了对应720p TV显示屏而介绍的,1080p 电视的密度是DENSITY_XHIGH, 这里的值给720p TV提供了同样的UI尺寸。当这些设备显示屏是1280x720时,7" tablets(平板)里也有使用。
常量值: 213 (0x000000d5)
public static final int DENSITY_XHIGH
Added in API level 9
超高密度显示屏的标准量化DPI。
常数值: 320 (0x00000140)
public static final int DENSITY_XXHIGH
Added in API level 16
extra-extra-high-density(超超高密度)显示屏的标准量化DPI。应用程序基本上不需要当心这个密度, 相信在所有情况下从XHIGH图形放大到该密度也应该该足够使用。
常数值: 480 (0x000001e0)
Fields(字段)
public float density
Added in API level 1
显示屏的逻辑密度。这是密度独立像素(dip)单元的缩放因子,为系统显示提供基线。一个DIP 是大约160 dpi 显示屏上的一个像素 (比如 一个 240x320, 1.5"x2" 显示屏)。所以160dpi显示屏,密度值是1; 120dpi 显示屏密度值为0.75。
该值不完全按照实际屏幕尺寸(就像xdpi 和 ydpi 给出的尺寸,常常是由overall UI(整体界面)根据显示DPI的总变化逐步缩放而成的)。比如,一个 240x320 屏幕的密度值为1,即使它的宽度是1.8", 1.3"等。然而,如果屏幕分辨率增加到 320x480,但是屏幕尺寸依旧是1.5"x2",那么密度值将增加(可能到1.5)。
也可参见
DENSITY_DEFAULT
public int densityDpi
Added in API level 4
用dots-per-inch(dpi)表示显示屏密度。可能是DENSITY_LOW, DENSITY_MEDIUM, 或 DENSITY_HIGH。
public int heightPixels
Added in API level 1
显示的绝对像素高度
public float scaledDensity
Added in API level 1
显示字体的缩放因子。 跟density(密度)一样,除了它可能会在运行时基于用户偏好的字体大小以较小的增量调整。
public int widthPixels
Added in API level 1
显示的绝对像素宽度
public float xdpi
Added in API level 1
X方向上每英寸显示屏物理像素
public float ydpi
Added in API level 1
Y方向上每英寸显示屏物理像素
公共构造函数
public DisplayMetrics ()
Added in API level 1
公共方法
public boolean equals (Object o)
Added in API level 1
让该实例跟指定对象进行比较,确定他们是否相等。为了让他们相等,o必须跟该实例表示同一对象,用特定类进行比较。一般情况下,该比较应该是自反,对称和可传递的。 Also, no object reference other than null is equal to null.
仅当this == o 时,默认实现返回true. 参见 Writing a correct equals method 如果你打算实现自己的equals 方法。
如果两个对象的equals都返回true,hashCode()肯定返回跟同样的hash code值。也就是说,对象的子类要么重写这2个方法(equals(Object o) 和 hashCode() ),要么一个都不重写。
参数
O 跟这实例比较的对象
返回值
true 指定对象跟该对象相等;否则返回false
public boolean equals (DisplayMetrics other)
Added in API level 17
如果这些display metrics 跟别的 display metrics 相等,则返回true
参数
other 要比较的另一个 display metrics
返回值
如果两个display metrics相等,则返回true
public int hashCode ()
Added in API level 1
为对象返回一个整数hash code(哈希码)。 任何2个对象的方法equals(Object)返回值为true时,一定返回同样的哈希值。也就是说,对象的子类要么重写这2个方法(equals(Object o) 和 hashCode() ),要么一个都不重写。
运行过程中哈希值不能改变,除非在equals方法里用的信息发生改变。
参见 Writing a correct hashCode method 如果你打算实现自己的hashCode 方法
返回值
对象的哈希值
public void setTo (DisplayMetrics o)
Added in API level 1
public void setToDefaults ()
Added in API level 1
public String toString ()
Added in API level 1
返回一个人类可读的对象描述。 建议子类重写这个方法,提供对象类型和数据的实现。默认实现跟以下表达式相同:
getClass().getName()+'@'+Integer.toHexString(hashCode())
参见 Writing a useful toString method 如果你想实现自己的toString 方法
相关文章推荐
- Java 字符串(一条日志信息)解析实例
- 简单介绍Java中Comparable和Comparator
- Swift - 同步请求和异步请求
- iPhone消息推送机制实现与探讨
- MySQL之alter语句用法总结
- eclipse设置系统字体
- [转]西游记新解
- 关于JavaScript的一些知识
- PHP与Ajax相结合实现登录验证小Demo
- 长按Power键默认会弹出对话框
- Android MonkeyRunner Test.
- Linux常用命令(包括刷机指令、Linux单步调试、预装android系统应用)
- Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environmen
- CCameraConfig.cpp文件中define替换
- .net控件
- C++ char*,const char*,string的相互转换
- 通过DAC来连接SQL Server
- J2EE学习(JSP的工作原理)
- centos7安装pip
- HDU The 3n + 1 problem