精华内容
下载资源
问答
  • Android有各种屏幕尺寸和密度的设备,同时各大厂商定制的屏幕尺寸也非常多。屏幕适配是一个必须的技能。基础知识屏幕尺寸指屏幕的对角线长度,单位是英寸,1英寸等于2.54厘米,常见尺寸有4.2,5.0,5.5,6.0等。屏幕...

    Android有各种屏幕尺寸和密度的设备,同时各大厂商定制的屏幕尺寸也非常多。屏幕适配是一个必须的技能。

    基础知识

    屏幕尺寸

    指屏幕的对角线长度,单位是英寸,1英寸等于2.54厘米,常见尺寸有4.2,5.0,5.5,6.0等。

    屏幕分辨率

    指在纵横向上的像素点数,单位是px,1px为一个像素点,一般格式为纵向像素横向像素,如19201080。

    屏幕像素密度

    相同尺寸下,分辨率越高,屏幕越清晰,即屏幕像素密度越大。屏幕像素密度指每英寸上面的像素点个数,单位是dpi(dot per inch).一个分辨率为1920*1080的5寸手机,勾股定理求得对角线长度为2203px,则屏幕像素密度为2203px/5寸=440dpi.

    密度无关像素

    单位dip或dp,是Density Independent Pixels的缩写,Android规定在屏幕像素密度为160dpi的情况下,1dp=1px;计算公式为:密度无关像素dp=屏幕像素密度/160dpi。

    手机屏幕参数像素密度等级像素密度范围像素密度与dp转换关系mdpi-1120dpi-160dpi1dp = 1px

    hdpi-1.5160dpi-240dpi1dp = 1.5px

    xhdpi-2240dpi-320dpi1dp = 2px

    xxhdpi-3320dpi-480dpi1dp = 3px

    xxxdpi-4480dpi-640dpi1dp = 4px

    为了在不同的屏幕上显示的效果都相似,需要创建values-mdpi,values-hdpi,values-xhdpi,values-xxhdpi,values-xxxhdpi等文件夹,在每个文件夹下的dimens.xml文件里定义需要的尺寸,到时候系统会根据屏幕的分辨率自动去各个对应的文件夹下去找对应的尺寸

    图片所在目录对内存的影响图片占用内存的计算公式:图片高度 图片宽度 一个像素占用的内存大小同一张图片,放在不同目录下,会生成不同大小的Bitmap

    Bitmap的长度和宽度越大,占用的内存就越大

    图片在硬盘上占用的大小,与在内存中占用的大小完全不一样

    当图片放置在不同drawable文件夹中,且只有这一张图片时,运行设备会根据自身的屏幕像素密度,对图片进行放缩

    每个像素占用byte数和图片在加载时设置的Bitmap.Config有关,默认的是Bitmap.Config.ARGB_8888,其他类型如下:Bitmap.Config.ALPHA_8 此时图片只有alpha值,没有RGB值, 一1个像素占用一个byte

    Bitmap.Config.ARGB_4444 一个像素占用2个byte,alpha(A)值,Red(R)值,Green(G)值,Blue(B)值各占4个bit共16bit,即2个byte

    Bitmap.Config.ARGB_8888 一个像素占用4个byte,alpha(A)值,Red(R)值,Green(G)值,Blue(B)值各占8个bit,共32bit,即4个byte。这是一种高质量的图片格式,在电脑上普通采用。它也是Android手机上一个Bitmap的默认格式。

    Bitmap.Config.RGB_565 一个像素占用2个byte,没有alpha(A)值,即不支持透明和半透明,Red(R)值占5个bit ,Green(G)值占6个bit ,Blue(B)值占5个bit,共16bit,即2个byte。对于没有透明和半透明颜色的图片来说,该格式的图片能够达到比较的呈现效果,相对于ARGB_8888来说也能减少一半的内存开销。因此它是一个不错的选择。

    展开全文
  • 3、能够62616964757a686964616fe78988e69d8331333337373664使用权重的地方尽量使用权重(android:layout_weight)4、如果是纯色背景,尽量使用android的shape 自定义。5、如果需要在特定分辨率下适配,可以在res目...

    展开全部

    一、关于布局适配

    1、不要使用绝对布局

    2、尽量使用match_parent 而不是fill_parent 。

    3、能够62616964757a686964616fe78988e69d8331333337373664使用权重的地方尽量使用权重(android:layout_weight)

    4、如果是纯色背景,尽量使用android的shape 自定义。

    5、如果需要在特定分辨率下适配,可以在res目录上新建layout-HxW.xml的文件夹。比如要适配1080*1800的屏幕(魅族MX3采用此分辨率)则新建layout-1800x1080.xml的文件夹,然后在下面定义布局。Android系统会优先查找分辨率相同的布局,如果不存在则换使用默认的layout下的布局。

    二、关于图片制作

    1、关于设计:

    设计图先定下一个要设计的尺寸,而且尽量采用在目前最流行的屏幕尺寸(比如目前占屏幕比重比较多的是480系列,也即是480*800或者400*854,下面的图标制作也在次基础上进行比例的换算)上设计。

    先了解一下屏幕的级别:

    屏幕级别:

    注意屏幕级别是按照密度分级,和像素没有关系。如果非要让密度和像素扯上关系,则需要一个参照系,android使用mdpi级别作为标准参照屏幕,也就是说在320*480分辨率的手机上一个密度可以容纳一个像素。然后其他密度级别则在此基础上进行对比。如果理想情况下,480*800的屏幕一个密度可以容纳1.5个像素。

    物理大小:

    单位是英寸而不是像素,也就说一个英寸在任何分辨率下显示的大小都是一样的,但是像素在密度不同的手机里面显示的实际的大小是不一样的(这就是为什么android手机需要适配的原因)。

    然后就是重点。

    假设1像素在160密度下显示1英寸,则1像素在240密度基础上显示大约0.67英寸,在320密度下显示0.5英寸。于是就出现一种情况,在电脑上的一个像素,在不同的手机上看实际的大小不一样。那么怎么让“设计效果”在不同的手机上看起来显示的区域一样呢?

    还是假设一个像素在160密度下的显示在一个密度内,也假设就是一英寸。那么需要几个像素才能在240密度级别下显示在一英寸范围内呢?答案是1.5个像素(根据上图的比率换算)。

    了解了这个关系,接下来就是图标的制作。

    2、关于切图。

    关于切图有几个建议:

    第一,长宽最好是3的倍数(根据android的推荐logo图标的大小是48(mdpi),72(hdpi),96(xhdpi)得出的最小公约数)。

    第二,长宽最好是偶数。因为奇数在进行等比压缩的时候可能有问题。

    第三,根据上面两条,如果长宽是6的倍数最理想。

    第四,如果可以拉伸而不改变设计意图的情况下,比如纯色背景,则使用android的9path工具制作成.9的图片。

    3、关于图标的适配。

    然后接下来的一切就和设计稿没什么关系。在切好图的基础上,根据屏幕密度、像素和实际大小的比例关系。假如设计司在480*800的分辨率下做好了设计图,并且切好图,如果你需要适配720*1280屏幕,该怎么做?根据比例,他们的关系是2:3,于是你需要按照1.5倍比例制作图标,比如你在480*800的设计稿上切下来一个20*20像素的图,那么你就需要制作一个等比放大成30*30像素的图标,这样同一个图标在480*800的屏幕和720*1280的屏幕上显示的实际大小才一样。同理,如果你需要适配xxhdpi则需要在20*20的基础上制作一个等比放大成40*40像素的图标。

    4、关于图标的目录,480*800切下来的图我们放在drawable-hdpi目录下,按照2:3放大的图标放在drawable-xhdpi目录下,按照2倍放大的图标放在drawable-xxhdpi目录下。

    android会根据手机的密度优先查找对应的目录的资源,

    比如408*800分辨率下的手机如果密度是160,则自动加载drawable-hdpi这个目录下的图标,

    如果720*1280密度是240的手机自动加载drawable-xhdpi这个目录下的图标。如果没有这个文件夹,则查找和240最接近的对应密度文件夹。

    三、其它

    接下来要说的估计会让你失望,根据上面的步骤也不能完全解决适配的问题,只能是大概适配,而就算根据上面的步骤大概适配了,实际在手机上的效果也有出入。

    比如魅族MX3的分辨率是1080*1800,标准情况下密度是480,但是他的密度大约是524,和480接近,也就是会查找drawable-xxhdpi这个资源下的文件。也就是说你在480*800分辨率下切图然后按两倍放大的图标在这台手机上显示的效果还是比实际的小。

    而另一个要说的问题是540*960或者640*960,他们的密度很可能是或者接近240也可能是320。于是在480*800的设计稿上切下来的图并且进行的适配制作,在这些手机上显示的实际大小也可能或大或小。

    展开全文
  • Android设备尺寸

    2021-03-07 15:23:11
    被设计师支配的恐惧很多的入门程序猿,对于android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路。回想还是一个入门菜鸟时,每当设计提出一个比较炫酷的动画设计,都会打开百度或者github先搜索...

    被设计师支配的恐惧

    很多的入门程序猿,对于android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路。回想还是一个入门菜鸟时,每当设计提出一个比较炫酷的动画设计,都会打开百度或者github先搜索一番。可是开源控件毕竟不是量身打造,与期望的效果总是有那么多的出入。这个时候就假装一本正经的说,这个没法实现。然后战战兢兢的等待设计那一句:“为什么ios的可以实现“?

    b132e2eb024c

    磨刀不误砍柴工

    android开发最让人头疼的是什么?我想应该是适配各种机型。android不像ios般统一,2012年到2014年支持Android设备的种类就从3997增长到18796。同时各大厂商定制的屏幕尺寸也非常多。这导致有时候我们在一款机型上表现完美的自定义控件,在另外一款手机上变形严重。所以在正式开始自定义控件之前,我们先回顾一下android中的各种尺寸

    什么是屏幕尺寸、屏幕分辨率、屏幕像素密度?

    我的测试机是三星S5,屏幕为5.2英寸。看一下手机参数:

    b132e2eb024c

    拿它举个栗子,代码如下

    DisplayMetricsmetrics = getResources().getDisplayMetrics();

    int w = metrics.widthPixels;//宽度

    int h = metrics.heightPixels;//高度

    int dpi = metrics.densityDpi;//每英寸所占像素 (dpi:dots per inch )

    int xdpi = metrics.xdpi;//x方向上的dpi

    float density = metrics.density;//密度

    Log.i("dimension","宽度:"+w+"\n高度:"+h+"\nDPI:"+dpi+"\nxDPI:"+xdpi+"\n密度:"+density);

    log输出

    dimension: 宽度:1080

    高度:1920

    DPI:480

    xDPI:422.03

    密度:3.0

    DPI每英寸点数

    可以看到三星S5的宽1080px,高1920px。根据勾股定理可以算出对角线长2202.907px。

    因为手机对角线尺寸为5.2英寸,我们反向推导一下:

    2202.907/5.2 = 423.6

    与上面的xdpi相吻合。

    所以dpi的概念一目了然,即每寸的像素有多少个点。面试的时候经常有同学把dpi、dip、dp弄混了。下面我接着推。

    密度density

    我们首先知道,谷歌官方把android设备的参考标准定义为一寸是160px。既然谷歌的一寸是160px,为什么metrics返回的dpi是480呢?。这是因为android设备中160px每寸的密度随着用户需求的提高,渐渐无法满足日常需要。所以厂商将原本160个像素提高到480个像素(在该例中,实际为422)。在同样的空间下密度增大了三倍。所以480像素得到了解释。由此我们又得到一个概念叫密度(density)

    480/160 = 3

    与上面的density相吻合。

    独立像素密度(密度无关像素)DIP/DP

    dp可以说是我们日常开发中最常用到的长度单位了。通过上面的计算我们可以得出。

    1dp = 1英寸/160

    当密度(density)为1时,1dp = 1px。

    当密度(density)为2时,1dp = 2px。

    当密度(density)为3时,1dp = 3px。

    所以计算dp与px的转换公式也十分简单:

    px = dp * density

    或px = dp * (dpi/160)

    常用单位一览

    px——屏幕上真实的像素。这是一个与像素密度有关联的单位,一px单位的物理大小取决于屏幕的像素密度。

    in——屏幕上的物理英寸。这是一个与像素密度无关联的单位,一in单位的物理大小在任何像素密度的屏幕上都是一样大的。一in单位转化为多少px单位取决于屏幕的像素密度。

    dp——像素密度无关联的像素单位。这是一个与像素密度无关联的单位。然而一dp单位的物理大小在不同的像素密度屏幕上只是近视的相等。大约160dp等于一in。在一dp转化为160dpi中的一个比例因子是与设备的密度级别相关联的。一dp等于多少像素取决于屏幕的像素密度和设备所属的密度级别。

    sp——大小独立的像素单位,特地指定text的大小。这是一个与像素密度无关联的单位。然而一sp单位的物理大小在不同的像素密度屏幕上只是近视的相等。在一sp转化为160dpi中的一个比例因子是与设备的密度级别以及字体表现的大小相关联的。一sp等于多少像素取决于屏幕的像素密度和设备所属的密度级别。

    除此之外,android还为我们提供了一些其他不常用的长度单位

    mm——屏幕上的物理毫米。这是一个与像素密度无关联的单位,一mm单位的物理大小在任何像素密度的屏幕上都是一样大的。25.4mm等于一in。一mm单位转化为多少px单位取决于屏幕的像素密度。

    pt——点,屏幕上普通字体大小单位。这是一个与像素密度无关联的单位,一pt单位的物理大小在任何像素密度的屏幕上都是一样大的。72pt等于一in。一pt单位转化为多少px单位取决于屏幕的像素密度。

    特别注意

    事实上,我们屏幕上看到的东西都是由Paint绘制而来。而Paint对象接受的参数最后都是px像素来使用的。所以无论我们使用什么单位最后都转换成了像素来处理。

    所以android系统很贴心的给我们提供了TypedValue.applyDimension()方法提供单位转换。点进去可以看到:

    DisplayMetrics metrics)

    {

    switch (unit) {

    case COMPLEX_UNIT_PX:

    return value;

    case COMPLEX_UNIT_DIP:

    return value * metrics.density;

    case COMPLEX_UNIT_SP:

    return value * metrics.scaledDensity;

    case COMPLEX_UNIT_PT:

    return value * metrics.xdpi * (1.0f/72);

    case COMPLEX_UNIT_IN:

    return value * metrics.xdpi;

    case COMPLEX_UNIT_MM:

    return value * metrics.xdpi * (1.0f/25.4f);

    }

    return 0;

    }```

    事实上还是```px = dp * density```公式的变形。有时候我们发现自定义View通过java代码设置尺寸就是不能适配,但是通过属性就可以。这里其实就是忘记调用TypedValue.applyDimension( unit, size, r.getDisplayMetrics())方法来把单位转换成px

    ### 结语

    好了,虽然内容不多。但是写文章还是比我想象中困难很多。之前只是脑海里有这样一个概念。但是要组织语言写出来还是有障碍。再接再厉

    展开全文
  • 安卓:2k 2560 x 1440(三星最近的四款旗舰都是这个分辨率)1080p 1920 x 1080(华为的所有旗舰都是这个分辨率,小米主流旗舰,大多数国产旗舰都采用这一分辨率,国产千元机红米note3,魅蓝note3也采用这一分辨率)720p ...

    这是到2016年4月这个时间段,市售手机来讲的。

    安卓:

    2k 2560 x 1440(三星最近的四款旗舰都是这个分辨率)

    1080p 1920 x 1080(华为的所有旗舰都是这个分辨率,小米主流旗舰,大多数国产旗舰都采用这一分辨率,国产千元机红米note3,魅蓝note3也采用这一分辨率)

    720p 1280 x 720(三星低端,国产百元机基本采用这一分辨率)

    目前鉴于手机功耗控制,手机屏幕分辨率基本都在1080P这一段位,所以安卓主流目前还是1080p,主要还是看产品定位,定位高端就要适配2K 1080P,如果产品是大众软件就不仅是这几

    种,还有楼上说的也最好能支持。

    ios:

    4 4s 960*640

    5 5c 5s se 1136*640

    6 6s 1334*750

    6+ 6s+ 1920*1080

    2018.1月市售手机分辨率

    安卓:

    2560 x 1440

    1920 x 1080

    1280 x 720

    新增分辨率:

    2960x1440

    2040x1080

    ios

    4 4s 960*640

    5 5c 5s se 1136*640

    6 6s 7 8 1334*750

    6+ 6s+ 7+ 8+ 1920*1080

    新增分辨率:

    iPhone X 2436×1125(异形屏幕,需要独立适配)

    安卓

    大家随意,水滴屏,美人尖,全面屏,18:9,21:9各种吧适配就看缘分了,真的更新不起了。

    IOS

    很遗憾IOS13还是支持se的,所以分辨率基本如下:

    se 1136*640

    6 6s 7 8 1334*750

    6+ 6s+ 7+ 8+ 1920*1080

    iPhone X XS 2436×1125

    iPhone XR 1792×828

    iPhone XS MAX 2688×1242

    展开全文
  • 今年大家发现没有,所有旗舰级安卓手机的屏幕尺寸都在6.0-6.5英寸之间。包括小米9(6.39英寸)、一加7(6.4英寸)、荣耀20(6.26英寸)、iQOO(6.41英寸)、OPPO Reno(6.4英寸)、联想Z6 Pro(6.39英寸)等热门新机,其中很多...
  • 手机屏幕尺寸和分辨率一览表(很全很好很强大)开发必备
  • Android开发中的常用尺寸单位有如下几种: dp (dip) px pt inch sp 算不知道确切含义,相信对于以上这几种尺寸单位大家也都比较脸熟,这里先让我们重新认识一下它们: dp (dip): 即设备无关像素(device ...
  • 通过查找发现,在Android4.0(Api14)就提供了getRealSize()这个方法,只不过是系统隐藏了,我们不能直接去调用。那么能不能通过反射的方式来使用呢?publicstaticintgetScreenHeight5(Activityactivity){...
  • 想要真正理解一些有用的android安卓APP设计规范和安卓设计尺寸分辨率、屏幕密度、DP、sp等等相关知识,必须需要反复的去设计和理解阅读的。所以,准备好APP小抄本也是一项不错的记忆能力。今天,25学堂给大家整理...
  • 常用尺寸规范1. 程序启动图标:2.底部菜单图标3. 弹出对话框顶部图标4. 长列表内部列表项图标5. 底部或顶部tab标签图标6. 底部状态栏图标 1. 程序启动图标: LDPI (Low Density Screen,120 DPI),其图标大小为 36 x...
  • 本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下运行效果图:运行程序后,当我们点击Button按钮时,可以看到下面的效果图:具体代码:我们可以通过使用类...
  • 今天在APPUI设计群里 ,不少朋友在问 android APPUI设计、切图的常用尺寸到底是多少?很不清楚,所以老谭在此跟大家分享下。Android系统就被设计为一个可以在多种不同分辨率的设备上运行的操作系统。对于应用程序来...
  • Android屏幕尺寸详解

    万次阅读 2017-06-20 14:42:09
    随着Android厂商对系统的不断定制,Android出现越来越多不同尺寸手机,由于尺寸和分辨率等不同,从而导致Android的适配成为一个老大难的问题,今天我们就来聊聊Android中的屏幕尺寸。 我们先了解一下几个重要的...
  • Android的设计尺寸规范

    千次阅读 2021-06-06 03:37:43
    Android的设计尺寸规范屏幕尺寸指实际的物理尺寸,为屏幕对角线的测量。为了简单起见,Android把实际屏幕尺寸分为四个广义的大小:小,正常,大,特大。像素(PX)代表屏幕上一个物理的像素点代表屏幕上一个物理的像素...
  • Android UI设计常用尺寸及基本知识

    千次阅读 2016-06-25 17:04:32
    为了简单起见,Android把实际屏幕尺寸分为四个广义的大小:小,正常,大,特大。 像素(PX) 代表屏幕上一个物理的像素点代表屏幕上一个物理的像素点。 屏幕密度 为解决Android设备碎片化,引入一个概念DP,也...
  • 素胚勾勒不出你不仅手机生产商,而且任何创建Android操作系统版本的人,都可以根据设备的特定需求,指定允许的最大堆大小。一些Android根,如CyanogenMod,甚至允许用户自己选择堆大小作为设置。可以使用该方法检测...
  • IOS和安卓ui设计常用尺寸及基本知识

    万次阅读 2015-10-08 10:56:40
    ... iOS  ...为了简单起见,Android把实际屏幕尺寸分为四个广义的大小:小,正常,大,特大。 像素(PX) 代表屏幕上一个物理的像素点代表屏幕上一个物理的像素点。 屏幕密度 ...
  • Android常用尺寸

    2014-12-01 10:40:39
    android UI中这个单位和实际的物理屏幕分辨率一样,主要用来显示清晰度效果。       dp:Density-independent Pixels(设备独立像素),缩写是dp即dip,他是一个抽象的单位,由于物理的屏幕有大有小...
  • 在出发之前,预备好android常用图标、图片的尺寸以及它们存放的位置吧! 正文 icon图标尺寸: drawable-hdpi-icon 72*72 drawable-ldpi-icon 36*36 drawable-mdpi-icon 48*48 drawable-xhdpi-icon 96*96 ...
  • 2.1 使用尺寸(dimen)资源 我们可以使用一些常用尺寸单位来定义一些文字尺寸、视图组件的宽和高等。尺寸资源是一个数字类型的数据,被定义在res\values\dimens.xml文件中。 2.1.1 Android中支持的尺寸单位 在...
  • Android 常用图标尺寸及设计规范汇总

    万次阅读 2017-09-18 09:26:16
    1. Android手机目前常见的分辨率及设计规范 2. dp,px,sp单位转换 3.程序启动图标(icon launcher)制作 4.9-patch PNG图片的使用 5. 屏幕适配的注意事项 1. Android手机目前常见的分辨率及设计规范...
  • 常用手机屏幕尺寸大小

    千次阅读 2017-09-27 21:42:38
    iphone5: 320*568 iphone6: 375*667 iphone6 plus:414*736参考:http://www.kuku8.cc/html5/1728.html
  • 随着Android厂商对系统的不断定制,Android出现越来越多不同尺寸手机,由于尺寸和分辨率等不同,从而导致Android的适配成为一个老大难的问题,今天我们就来聊聊Android中的屏幕尺寸。 我们先了解一下几个重要的...
  • 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽高比率,分为long和nolong Milestone是16:9,属于...
  • -------------------------------... 尺寸总结: 图标尺寸输出列表: 180x180 120x120 87x87 80x80 58x58 57x57 29x29 启动图片尺寸输出列表: 640x960 640x1136 750x1334 1242x2208 文/简述呢(简书作者) 原文链接:...
  • Android 引导页大全

    2018-11-09 15:32:11
    Android 引导页大全 介绍了Android的APP应用中最常用的APP启动引导页,常见的4种引导项目方式:splash,viewpage,viewflipper,scrollview [注意:本资源来自网络,如有侵权,请联系我删除,谢谢。]
  • 根据sketch效果图尺寸适配android手机

    千次阅读 2016-07-31 23:55:45
    一套效果图适配全尺寸和标注规范(修订版)友盟android手机分辨率统计干货在这里: 这跟sketch设计稿和android适配有什么关系呢? 我们再来看一组我计算的数据:1280*720 除以 2 等于 640 * 360 1920*1080 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,318
精华内容 6,127
热门标签
关键字:

安卓手机常用尺寸