Android中度量单位的使用和关系
来源:互联网 发布:京东万象数据 编辑:程序博客网 时间:2024/06/10 03:59
度量单位
当指定Android用户界面上元素的大小时,应知道以下度量单位:
单位
说明
dp
与密度无关的像素(density-independent pixel)。1pd相当于160dpi的屏幕上的1像素。当在布局中指定视图尺寸时,推荐将dp作为度量单位。160dpi是Android假定的基准密度。当指的是密度无关的像素时,可以使用dp或dip。
sp
与比例无关的像素(scale-independent pixel)。与dp类似,推荐用于指定字体大小。
pt
磅。1磅等于1/72英寸。
px
像素。对应屏幕上的实际像素。不建议使用这一单位。
Android定义并可识别6种屏幕密度:
名称
dpi
密度
分辨率
低密度(ldpi)
120dpi
0.75
320*240
中密度(mdpi)
160dpi
1
480*320
高密度(hdpi)
240dpi
1.5
800*480
超高密度(xhdpi)
320dpi
2
1280*720
xxhdpi
480dpi
3
1920*1080
xxxhdpi
640dpi
4
2560 * 1440(2K分辨率)
xxxxhdpi
960dpi
6
3840 * 2160(4K分辨率)(4K电影其影片分辨率4096×2160,而电视、手机领域,由于屏幕16:9已成主流,因此4K指的是3840×2160的物理分辨率)
dp转换px
实际像素 = dp * (dpi / 160 ),其中dpi可以是120、160、240、320,等。因此,当一个100dp的Button显示在一个315dpi的屏幕上时,其实际宽度是100 * ( 320 / 160 ) = 200px。为了证明,可以使用View对象的getWidth()方法获得其以像素数表示的宽度:
public void onClick(View view) {Toast.makeText(this, String.valueOf(view.getWidth()),Toast.LENGTH_LONG).show();}
代码实现:
public static float dp2px(Context context, float dp) {// +0.5f是为了四舍五入return (int)(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,context.getResources().getDisplayMetrics()) + 0.5f); }
- Android中度量单位的使用和关系
- Word中度量单位的设定
- Android中度量单位px、dip、dp、sp、pt的区别 像素及屏幕密度决定显示效果的美观
- android中度量坐标 传感器应用的开发
- Java API的中度使用
- Android下的单位及相互之间的关系和换算
- 软件测试中度量的具体含义是什么?
- android平台使用的单位
- Android中常用单位和日志(LogCat)的使用
- 代码量和学习数据结构的关系
- swap和入流量之间的关系
- Android的单位和尺寸
- 【Solidity】4.单位和全局可变量
- CSS中行高的继承和单位之间的关系
- Android尺寸单位,dp、px、sp之间的关系
- Android可以使用的度量单位
- Android中使用的尺寸单位
- android中使用的尺寸单位
- Stepping Thread Group和Ultimate Thread Group解释
- c#设计模式之策略模式
- CentOS6.5安装Tab增强版:bash-completion
- Antenna Placement(二分图的最大匹配)
- python 计算hash值与java不一致问题
- Android中度量单位的使用和关系
- 内容提供者ContentProvider和内容观察者ContentObserver的使用
- Swift3.0语言教程分割字符串与截取字符串
- 一念永恒 > 第415章 谁敢要白小纯小命!
- andorid 连接-心跳-异常中断流程图
- 统计车牌识别里面各个lable 的数量
- oracle的一些sql查询例子,(子查询、分组查询、求和、求平均数等等)都囊括到了。(2)
- C语言联合体(union)的使用方法及其本质-union
- 关于表单用js如何实现占位符placeholder的效果