简述dp、dip、sp、dpi、屏幕尺寸、分辨率关系

简述dp、dip、sp、dpi、屏幕尺寸、分辨率关系,第1张

手机实际的物理尺寸。手机对角线长度,1英寸=254厘米。比如常用手机的5英寸,55英寸等。

实际宽度与高度比率。比如 16:9。

表示宽度一列、高度一行的像素点个数。比如:480x320 1920x1080

VGA:Video Graphics Array,即:显示绘图矩阵,相当于640×480 像素;

HVGA:Half-size VGA,即:VGA的一半,分辨率为480×320;

QVGA:Quarter VGA,即:VGA的四分之一,分辨率为320×240;

WQVGA:Wide Quarter VGA,即:扩大的QVGA,分辨率比QVGA高,比VGA低,一般是:400×240,480×272;

WVGA:Wide Video Graphics Array,即:扩大的VGA,分辨率为800×480像素;

FWVGA:Full Wide VGA ,VGA的另一种形式,比WVGA分辨率高,其分辨 率为854×480象素(16:9)。

dot per inch 每英寸的像素数,可以反映屏幕的清晰度。

px(pixel) 像素简写

如120dpi,160dpi等,假设QVGA(320240)分辨率的屏幕物理尺寸是(2英寸15英寸),dpi=160。

计算方法:像素面积除以物理面积 (320x320+240x240)/(2x2+15x15)=400/25=160;

在Android中,可以参考DisplayMetricsjava类。drawable文件夹下,有如下

drawable-ldpi对应120dpi

drawable-mdpi对应160dpi

drawable-hdpi对应240dpi

drawable-xhdpi对应320dpi

drawable-xxhdpi对应480dpi

drawable-xxxhdpi对应640dpi

dip(Device Independent Pixels)设备独立像素 dp是dip简写

计算公式为:px=dpx(dpi/160)  160指 Android系统以160dpi作为基准

例如,在1920x1080分辨率下,屏幕尺寸为14英寸情况下(笔记本尺寸),显示一个长度在50x50像素的,显示很正常。如果分辨率不变,屏幕尺寸变为45英寸,用户看到长度显得很小。这就需要一个独立于像素点的显示单位。

dp优势在于,在分辨率相同情况下,在不同屏幕上显示大小等比是一致的。

dp用于描述显示的长宽。

sp用于描述文字大小,使用效果与dp描述长度效果是一致的。

Android屏幕布局时,描述长宽推荐使用dp作为单位,描述文字大小推荐使用sp为单位。但是使用dp并不能解决Android多屏幕的适配问题。

@[TOC](文章目录)

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

# 前言

<font color=#999AAA >使用工具Android studio,利用values文件下dimensxml界面适配安卓屏幕</font>

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

<font color=#999AAA >提示:以下是本篇文章正文内容,下面案例可供参考

# 一、概念

1屏幕分辨率单位是px,例如Android手机常见的分辨率:320x480px、480x800px、720x1280px、1080x1920px。

2手机屏幕的密度:每英寸的像素点数,单位是dpi。

| 密度类型 |代表的分辨率(px)| 屏幕像素密度(dpi) | 1dp转换为px |

|:--------|:--------|:--------|:--------|

| 低密度(ldpi) |240x320|120|075|

| 中密度(mdpi) |320x480|160|1|

| 高密度(hdpi)|480x800|240| 15|

| 超高密度(xhdpi)|720x1280|320|2|

| 超超高密度(xxhdpi) |1080x1920|480|3|

3由于android的机型屏幕大小品类太多了,有一些是不标准的,这时我们就需要单独去获取屏幕的分辨率和密度了。

# 二、获取屏幕的分辨率和密度

```java

DisplayMetrics displayMetrics = getResources()getDisplayMetrics();

    float density = displayMetricsdensity;

    int densityDpi = displayMetricsdensityDpi;

    int width = displayMetricswidthPixels;

    int height = displayMetricsheightPixels;

    Loge("123","密度:"+density+"---"+densityDpi);

    Loge("123","屏幕分辨率:"+width+"x"+height);

    Loge("123","安卓系统:"+androidosBuildVERSIONRELEASE);

    Loge("123","手表型号:"+androidosBuildPRODUCT);

```

# 三、SmallestWidth适配

smallestWidth适配,或者叫sw限定符适配。指的是Android会识别屏幕可用高度和宽度的最小尺寸的dp值(其实就是手机的宽度值),然后根据识别到的结果去资源文件中寻找对应限定符的文件夹下的资源文件。

sw计算公式:sw = 屏幕宽度 / (dpi/160)  注:160是默认的

例如:屏幕宽度为1080px、480dpi 的sw = 1080/(480/160)

# 四、生成 dimens 文件

1、 首先在 res 目录下新建各种尺寸的 values 文件 。文件名为:values-sw(你要适配屏幕的sw值)dp。

例如:

![code23](>

2K屏幕通常指的是分辨率为2560x1440像素的屏幕,而dp(Density-independent Pixel)则是一种与设备无关的虚拟长度单位。在Android开发中,使用dp作为布局元素大小和位置的度量单位可以保证应用程序在不同密度、不同尺寸的设备上显示效果基本一致。

对于2K屏幕来说,最小宽度多少dp最好取决于具体情况。如果您需要设计一个界面元素非常小且需要高精度显示的应用程序,则建议将最小宽度设置为至少1dp或更大;如果您需要设计一个普通应用程序,则建议将最小宽度设置为4-8dp左右。

总之,在选择最小宽度时要考虑到用户体验和可读性等因素,并根据实际需求进行调整。

以上就是关于简述dp、dip、sp、dpi、屏幕尺寸、分辨率关系全部的内容,包括:简述dp、dip、sp、dpi、屏幕尺寸、分辨率关系、android 屏幕适配、2k屏最小宽度多少dp最好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9346501.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存