首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

移动应用界面设计的尺寸规范「建议收藏」

像素(PX) 代表屏幕上一个物理的像素点代表屏幕上一个物理的像素点。 屏幕密度 为解决Android设备碎片化,引入一个概念DP,也就是密度。指在一定尺寸的物理屏幕上显示像素的数量,通常指分辨率。...简单理解的话,px(像素)是我们UI设计师在PS里使用的,同时也是手机屏幕上所显示的,dp是开发写layout的时候使用的尺寸单位。 为什么要把sp和dp代替px?...如果你设计的元素高和宽至少48dp,你就可以保证: (1)触摸目标绝不会比建议的最低目标(7mm)小,无论在什么屏幕上显示。 (2)在整体信息密度和触摸目标大小之间取得了一个很好的平衡。...在iPhone界面上元素的定位、尺寸是通过一个单位point,而非px,屏幕上固定有320x480pt,retina屏两倍的分辨率改变的只是pt和px之间的比例而已,这样就能实现不改变程序,只上传两套图片就兼容两个分辨率...开发拿到设计稿时,将上面标注的以px为单位的字号大小、图像尺寸除以2,就是非retina屏上的pt值,这样在retina屏上也可以根据此pt值换算对应的px大小,以确保不同的分辨率下有合适的效果。

5.3K20

Android中一张图片占据的内存大小是如何计算提问正文推荐阅读

Q2:为什么有时候,同一个 app,app 内的同个界面,界面上同张图片,但在不同设备上所耗内存却不一样? Q3:图片占用的内存大小公式:图片分辨率 * 每个像素点大小,这种说法正确吗,或者严谨吗?...在 Android 原生的 Bitmap 操作中,某些场景下,图片被加载进内存时的分辨率会经过一层转换,所以,虽然最终图片大小的计算公式仍旧是分辨率*像素点大小,但此时的分辨率已不是图片本身的分辨率了。...app,但跑在不同 dpi 设备上,同样的界面,但所耗的内存有可能是不一样的。...那么,为什么在上个小节中,要特别说明,即使同一个 app,但跑在不同 dpi 设备上,同样的界面,但所耗的内存有可能是不一样的。这里为什么要特别用有可能这个词呢? 是吧,大伙想想。...,这样的话,图片的内存大小不是肯定就不一样了吗?

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【总结】移动应用界面设计的尺寸设置及规范

    对于320ppi的屏幕,1dp x 320ppi/160 = 2px。...* 简单理解的话,px(像素)是我们UI设计师在PS里使用的,同时也是手机屏幕上所显示的,dp是开发写layout的时候使用的尺寸单位。 为什么要把sp和dp代替px?...如果你设计的元素高和宽至少48dp,你就可以保证: (1)触摸目标绝不会比建议的最低目标(7mm)小,无论在什么屏幕上显示。 (2)在整体信息密度和触摸目标大小之间取得了一个很好的平衡。...在iPhone界面上元素的定位、尺寸是通过一个单位point,而非px,屏幕上固定有320x480pt,retina屏两倍的分辨率改变的只是pt和px之间的比例而已,这样就能实现不改变程序,只上传两套图片就兼容两个分辨率...开发拿到设计稿时,将上面标注的以px为单位的字号大小、图像尺寸除以2,就是非retina屏上的pt值,这样在retina屏上也可以根据此pt值换算对应的px大小,以确保不同的分辨率下有合适的效果。

    3.6K40

    Android UI 开发里的尺寸单位理解

    约为 1/160 英寸(为什么是约为?稍后讲解)。 sp(Scale-independent Pixels) 基于首选字体大小的缩放像素。...在 mdpi(160dpi)上 1dp=1px(还记得前面讲过的 1dp 约为 1/160 英寸吗?...在 160dpi 的屏幕上,1px=1/160 英寸),这里的getResources().getDisplayMetrics().density实际上就等于我们的generalizedDensity...还是以 LG Nexus 5 举例,比如 160dp,若在一个屏幕密度恰好是 480dpi 的机器上,那它会是准确的 1 英寸,但是 LG Nexus 5 的屏幕密度是 445dpi,根据上面的公式计算得出...所以原因是dp 换算成 px 是使用 Android 概括的六种屏幕密度之一,而非实际屏幕密度,所以在不同的手机上相同数量的 dp 显示尺寸会有轻微差异。

    1.3K30

    Android UI 开发里的尺寸单位理解

    约为 1/160 英寸(为什么是约为?稍后讲解)。 sp(Scale-independent Pixels) 基于首选字体大小的缩放像素。 与 dp 类似,但是会根据用户的首选字体大小缩放。...在 mdpi(160dpi)上 1dp=1px(还记得前面讲过的 1dp 约为 1/160 英寸吗?...在 160dpi 的屏幕上,1px=1/160 英寸),这里的getResources().getDisplayMetrics().density实际上就等于我们的generalizedDensity...还是以 LG Nexus 5 举例,比如 160dp,若在一个屏幕密度恰好是 480dpi 的机器上,那它会是准确的 1 英寸,但是 LG Nexus 5 的屏幕密度是 445dpi,根据上面的公式计算得出...所以原因是*dp 换算成 px 是使用 Android 概括的六种屏幕密度之一,而非实际屏幕密度,所以在不同的手机上相同数量的 dp 显示尺寸会有轻微差异。

    40810

    Android的尺寸单位

    前言 当前Android 的设备多种多样,它们有着不同的屏幕尺寸和像素密度。各应用为了保证可以在各机型上展示较好的交互界面,就需要在实现阶段根据对应的尺寸单位进行兼容性开发。...近期在实际项目过程中,小编接触到了一些尺寸度量单位,下面进行简单的总结。 介绍 为了按照屏幕类型对设备进行分类,Android 为每种设备定义了两个特征:屏幕尺寸和屏幕密度。...dp 是一个虚拟像素单位,1 dp 约等于中密度屏幕(160dpi;“基准”密度)上的 1 像素,dp 与px的换算关系如下: px = dp * (dpi / 160) 结合具体数据实例说明换算方法及直观表现如下...④ 换算成物理距离后,1dp约为0.19mm。 4. dip 介绍 与dp完全相同,只是名字不同而已,早期使用较多。...“正常”时,1sp=1dp=0.00625英寸;而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。

    1.6K10

    Android中图片大小和屏幕密度的关系讲解

    Android手机适配是非常让人头疼的一件事,尤其是图片,android为了做到是适配提供了很多文件夹来存放不同大小的图片,比如:drawable-ldpi、drawable-mdpi、drawable-hdpi...这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。...由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。 1.相关概念 屏幕密度:指的就是单位英寸面积上的像素点数,与分辨率是两个不同的概念。...ldpi: 屏幕密度为120的手机设备 mdpi: 屏幕密度为160的手机设备(此为baseline,其他均以此为基准,在此设备上,1dp = 1px) hdpi: 屏幕密度为240的手机设备 xhdpi...不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 dp: dip是一样的 px: pixels(像素).

    1.1K60

    实用Android 屏幕适配方案分享

    添加了0.5的单位 1、概述 如果我们换个角度看下这个问题,不知道大家有没有了解过web前端开发,或者说对于网页都不陌生,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?...电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象: 为什么Web页面设计人员从来没有说过,尼玛适配好麻烦?...上面的公式中有个dpi,dpi为DPI是Dots Per Inch(每英寸所打印的点数),也就是当设备的dpi为160的时候 1px=1dp; 上述这些概念记不记得住没关系,只要记住一点 dp是与像素无关的... ,在实际使用中1dp 大约 等于1/160inch。...可以看出 1dp = 1/160inch;那么它至少能解决一个问题,就是你在布局文件写某个View的宽和高为160dp*160dp,这个View在任何分辨率的屏幕中,显示的尺寸大小是大约是一致的(可能不精确

    1.2K100

    实用Android 屏幕适配方案分享

    添加了0.5的单位 1、概述 如果我们换个角度看下这个问题,不知道大家有没有了解过web前端开发,或者说对于网页都不陌生,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?...电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象: 为什么Web页面设计人员从来没有说过,尼玛适配好麻烦?...上面的公式中有个dpi,dpi为DPI是Dots Per Inch(每英寸所打印的点数),也就是当设备的dpi为160的时候 1px=1dp; 上述这些概念记不记得住没关系,只要记住一点 dp是与像素无关的...,在实际使用中1dp 大约 等于1/160inch。...可以看出 1dp = 1/160inch;那么它至少能解决一个问题,就是你在布局文件写某个View的宽和高为160dp*160dp,这个View在任何分辨率的屏幕中,显示的尺寸大小是大约是一致的(可能不精确

    1.4K70

    像素密度计算

    为解决Android设备碎片化,引入一个概念density,也就是密度.它指的是在一定尺寸的物理屏幕上显示像素的数量,一般使用dpi(dots per inch,每英寸像素数)作为单位....算对角线也是一样的, 长的平方+宽的平方=160000,开方后=400.可知400/2.5=160. 对于用户来说,密度越大的屏幕显示效果越精细,因为每英寸显示的像素数量更多。    ...通过这样的成比例放缩,Android解决了需要多个不同屏幕中的大小显示问题.   ...,算出来的宽应该是只有300dp.悲剧的是,如果某个控件的宽为300,在此手机上是不能铺满手机的宽的.   ...个像素   所以:1280/1.8357=697.281;720/1.8357=392.22   按照这个逻辑,算出来的宽应该是392.22.悲剧的是,如果某个控件的宽为392.22,在此手机上是显示不完全的

    61210

    android手机分辨率

    (dp和dip的意义相同,所以不用区别对待)。   这些单元是相对于160dpi(dots per inch)的屏幕说的,在160dpi的屏幕上,1dp粗略地等于1px。...当运行在更高密度的屏幕上的时候,要绘制1dp的像素数量会放大一个比例,这个比例就是和屏幕密度(dpi)相关。   类似的,在一个低密度的屏幕上,像素数目会缩小一个比例。...dp到px的这个比例将会随着屏幕的密度变化,而不是直接的比例关系。   用dp单位,而不是px,是一种简单的屏幕密度适配解决方式。   ...换句话说,它提供了一种方式,可以在多种设备上维持真实尺寸一致性。...每个设备上每英寸的像素数不同(密度不同),并且屏幕上总的像素数也不同(整体大小不同)。

    87610

    Android屏幕适配方案分析

    现在Android屏幕分辨率碎片化720x1280、1080x1920、2280x1080,这就造成例如187px会在各个分辨率的机型上都是显示一样大小的,那肯定不是我们想要的效果,所以用px单位我们是难以达到适配效果的...dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个187dp.../ 160); 而dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的。...由于density不是固定不变的,所以每个分辨率不同的设备他们的density都肯定不相等,这样就会造成每个设备的宽/高对应的总dp都是不同的,假设480 * 800分辨率的density是1.5,1080...可以看出单位为dp的时候三个设备之间的差距就不是很大了,但是这样肯定还是不能满足我们对屏幕适配的要求的。下面来看看Android常见的三种比较成熟的屏幕适配方案,并分析这几种方案的优劣。

    1.2K10

    提示Android屏幕适配方案分析

    现在Android屏幕分辨率碎片化720x1280、1080x1920、2280x1080,这就造成例如187px会在各个分辨率的机型上都是显示一样大小的,那肯定不是我们想要的效果,所以用px单位我们是难以达到适配效果的...dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个187dp.../ 160); 而dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的。...由于density不是固定不变的,所以每个分辨率不同的设备他们的density都肯定不相等,这样就会造成每个设备的宽/高对应的总dp都是不同的,假设480 * 800分辨率的density是1.5,1080...可以看出单位为dp的时候三个设备之间的差距就不是很大了,但是这样肯定还是不能满足我们对屏幕适配的要求的。下面来看看Android常见的三种比较成熟的屏幕适配方案,并分析这几种方案的优劣。

    1.2K40

    Android 目前最稳定和高效的UI适配方案

    dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个96...dpi是像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值。 我为什么要强调它是软件系统上的概念?...dpi是软件参考了物理像素密度后,人为指定的一个值,这样保证了某一个区间内的物理像素密度在软件上都使用同一个值。这样会有利于我们的UI适配。...比如,几部相同分辨率不同尺寸的手机的ppi可能分别是是430,440,450,那么在Android系统中,可能dpi会全部指定为480.这样的话,dpi/160就会是一个相对固定的数值,这样就能保证相同分辨率下不同尺寸的手机表现一致...的Pixel2(19201080)的dpi是420,也就是说,在Pixel2中,1dp=2.625px,这样会导致相同分辨率的手机中,这样,一个100dp100dp的控件,在一般的1080P手机上,可能都是

    1.4K20

    Android开发稳定和高效的UI适配方案总结

    dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个96...dpi是像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值。 我为什么要强调它是软件系统上的概念?...dpi是软件参考了物理像素密度后,人为指定的一个值,这样保证了某一个区间内的物理像素密度在软件上都使用同一个值。这样会有利于我们的UI适配。...比如,几部相同分辨率不同尺寸的手机的ppi可能分别是是430,440,450,那么在Android系统中,可能dpi会全部指定为480.这样的话,dpi/160就会是一个相对固定的数值,这样就能保证相同分辨率下不同尺寸的手机表现一致...的Pixel2(1920*1080)的dpi是420,也就是说,在Pixel2中,1dp=2.625px,这样会导致相同分辨率的手机中,这样,一个100dp*100dp的控件,在一般的1080P手机上

    49130

    Android中的像素密度,屏幕密度,屏幕大小,分辨率,ldpi,mdpi,xhdpi,xxhdpi

    ,Android中获取的屏幕密度,不是对应屏幕真实的屏幕密度值,类似1280720和1290730都会被认为是720p的手机,屏幕密度都是2.0。...5 为什么2017年以后Android手机适配一般只需要xhdpi和xxhdpi两套资源就可以 2017年以后的android手机一般大小在5寸以上,分辨率至少720p,1080p,所以对应的dpi分别为...注意:对于平板,只能电视和车载系统的开发,一般xhdpi和xxhdpi用不到,ldpi,mdpi用的比较多 6 dp 和px的转换 dp是android中用于适配的尺寸,他能保证在不同尺寸密度屏幕上显示的大小相同...,有点类似物理尺寸,相同的dp展示效果相同,它们代表的px是不一样的。...而在480×800(hdpi,240dpi)的手机上1dp=1.5px.所以dp和px的换算以屏幕密度为准则而不是屏幕的实际密度。

    6.1K41

    Carson带你学Android:最全面、最易懂的屏幕适配解决方案

    单位:dp,可以保证在不同屏幕像素密度的设备上显示相同的效果 Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半的线,如果使用px作为计量单位...答: “布局控件”匹配 本质:使得布局组件在不同屏幕密度上显示相同的像素效果 做法1:使用密度无关像素 由于各种屏幕的像素密度都有所不同,因此相同数量的像素在不同设备上的实际大小也有所差异,这样使用像素...单位:dp,可以保证在不同屏幕像素密度的设备上显示相同的效果 Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半的线,如果使用px作为计量单位...(屏幕宽度是320dp),会发现,两个按钮会重叠,因为320dp<200+150dp 从上面可以看出,由于Android屏幕设备的多样性,如果使用dp来作为度量单位,并不是所有的屏幕的宽度都具备相同的dp...从上面可以看出: 因为屏幕密度(分辨率)不一样,所以不能用固定的px 因为屏幕宽度不一样,所以要小心的用dp 因为本质上是希望使得布局组件在不同屏幕密度上显示相同的像素效果,那么,之前是绕了个弯使用dp

    1.5K11

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

    手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。...通过 DisplayMetrics的 toString()方法可以获取到 DisplayMetrics的大部分 fields信息,如下是在分辨率为 480×320情况下的一些输出信息: 其中,density...例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素,图标大小为16×16像素 等。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。...与分辨率无关的度量单位可以解决这一问题,Android支持下列所有单位: px(像素):屏幕上的点。 in(英寸):长度单位。 mm(毫米):长度单位。 pt(磅):1/72英寸。...dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 dip:与dp相同,多用于android/ophone示例中。

    4.1K20
    领券