Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
px(Pixels ,像素):对应屏幕上的实际像素点。
in(Inches ,英寸):屏幕物理长度单位。
mm(Millimeters ,毫米):屏幕物理长度单位。
pt(Points ,磅):屏幕物理长度单位,1/72英寸。
dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。
dip:与dp相同,多用于Google示例中。
sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。
一直对px、dip、sp、dp这几个单位概念很模糊。网上查了下,基本理论上是清楚了。
1.px (pixels)(像素):屏幕上的点 ,与密度相关。密度大了,单位面积上的px会比较多。
2.dip或dp(与密度无关的像素)。这个和设备硬件有关,为了支持WVGA、HVGA和QVGA 5进制空间推荐使用这个。一种基于屏幕密度的抽象单位。设置一些view的宽高可以用这个,一般情况下,在不同分辨率,都不会有缩放的感觉。如果用px的话,320px占满HVGA的宽度,到WVGA上就只能占一半不到的屏幕了,那一定不是你想要的。
3.sp(与刻度无关的像素)放大像素– 主要处理字体的大小。
屏幕大小和密度对照表 :
下面是在manifest中设置app在不同分辨率时,是否支持多密度的方法。
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
</manifest>
转换:
dip和px之间的转换很简单,下面是dip和px的工具类。
/**
* 密度常量设置,提供dip转换为px的方法
*
* @author zuolongsnail
*
*/
public final class DensityConst {
/** 默认密度 */
public static float density = 1.0f;
/** 默认每英寸像素数 */
public static int densityDpi = 160;
/**
* 初始化与密度相关的所有变量值
*
* @param activity
*/
public static void initDensity(Activity activity) {
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
density = dm.density;
densityDpi = dm.densityDpi;
}
/**
* dip转化为像素
*
* @param dip
* @return
*/
public static int getPx(int dip) {
return (int) (dip * density);
// return (int)(dip*(densityDpi/160));
}
/**
* 像素转化为dip
*
* @param px
* @return
*/
public static int getDip(int px) {
return (int) (px / density);
// return (int)((px*160)/densityDpi);
}
}
Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释相关推荐
- android屏幕大小字体大小,文字大小和不同的Android屏幕尺寸
对于运行Android 3.0的第一代平板电脑,声明平板电脑布局的正确方法是将它们放在具有xlarge配置限定符的目录中(例如,res / layout-xlarge /).为了适应其他类型的平板电脑 ...
- Android屏幕大小适配问题解决
一.一些基本概念 1.长度(真实长度):英寸.inch 2.分辨率:density 每英寸像素数 dpi(密度) 3.像素:px 4.dip的公式:px /dip=dpi/160 所以 dip ...
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
1.px (pixels)像素 – 是像素,就是屏幕上实际的像素点单位. dip或dp (device independent pixels)设备独立像素, 与设备屏幕有关. sp (scaled ...
- 获取手机屏幕大小、密度、分辨率、状态栏、标题栏高度
在开发手机应用时,除了对API的掌握外,更重要的还是画面. 对于画面,屏幕分辨率又是很重要的一个因素. 由于手机屏幕尺寸各不相同,在画面布局时就需要考虑这个问题. Android可以设置为随着窗口大小 ...
- 获取android屏幕大小
2019独角兽企业重金招聘Python工程师标准>>> 代码本身很简单,比如在Activity的onCreate方法中: Log.d("tag1", " ...
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19698511 . 最近遇到了一系列的屏幕适配问题, 以及 ...
- Android 屏幕dp、dpi、px、ppi、density的区别
Android屏幕中dp.dpi.px.ppi的区别 px:像素 ppi:指每英寸所拥有的像素数量 dpi:指每英寸所拥有的点的数量(点的大小不一定是像素大小,但在考虑屏幕的时候dpi=ppi) dp ...
- Android针对不同的手机屏幕大小设计图片资源与编码
一些术语 Screen Size 屏幕尺寸: 实际的物理尺寸,以屏幕的对角线为准(包括通知栏?) 将所有的实际尺寸分为四个广义的尺寸:small(小),normal(正常),large(大),extr ...
- Android的屏幕大小和精度
本文转自:http://www.inandroid.cn/bbs/thread-123665-1-1.html 目前市场上主流的android屏幕大小和精度,供大家参考. 多分辨率支持 在设计之初,A ...
最新文章
- C语言感觉有意思得意东西!_只愿与一人十指紧扣_新浪博客
- 湖南工大计算机专业咋样,西北工业大学还是湖南大学计算机
- 激光标记舱口轮廓生成_宣城国产圆管激光切割机-利晟激光
- 【错误记录】AS 编译报错 ( Android Support plugin 版本太高 | 升级 Android Studio 到最新版本 )
- 基于深度学习的语义分割代码库
- PL/SQL NOCOPY限制模式
- Pycharm中设置py文件头部注释信息
- Python+OpenCV:直方图反向投影(Histogram Backprojection)
- 阿里云新征程:通往智能之路
- java编程思想--协变返回类型
- Linux driver 板级文件跟踪一般方法
- flux架构浅谈:什么数据才应该放store
- python虚拟环境中安装diango_django是要在虚拟环境激活后安装吗
- 基于PHP实现高性能敏感词过滤算法
- QAM的符号能量及比特能量
- 移动硬盘变成RAW,如何将其转换为NTFS
- Opencv系列教程(一):Opencv读取指定文件夹图片、视频,调用摄像头
- uniapp 动态修改导航栏 之前使用this.$mp.page page提示未定义
- 基于人脸面部检测的口罩识别系统
- RobotStudio软件及ABB机器人相关问题
热门文章
- 11.* 指针 引用
- 2018-2019 20165204 20165216 20165220 实验四 外设驱动程序设计
- android -------- Data Binding的使用 ( 四 )ListView
- 【STL源码学习】std::list类的类型别名分析
- POS打印机系列之 = 并口
- SQL Server 数据库的整理优化的基本过程(三)
- 免费送书的网站-每人限一本
- 难度炸裂!DeepChange:一个新的超大规模的换衣行人再识别数据集
- 数据不动模型动-联邦学习的通俗理解与概述
- 一键提升多媒体内容质量:漫谈图像超分辨率技术