若移动端访问不佳,请使用 –> Github版

内容持续更新中,更新日期:2016-08-11

1. 程序启动图标(icon launcher)

放在mipmap-*dpi下,文件名为ic_launcher.png

  • L DPI ( Low Density Screen,120 DPI ),其图标大小为 36 x 36 px
  • M DPI ( Medium Density Screen, 160 DPI ),其图标大小为 48 x 48 px
  • H DPI ( High Density Screen, 240 DPI ),其图标大小为 72 x 72 px
  • XH DPI ( Extra-high density screen, 320 DPI ),其图标大小为 96 x 96 px
  • XXH DPI( xx-high density screen, 480 DPI ),其图标大小为144 x 144 px
  • XXXH DPI( xxx-high density screen, 640 DPI ),其图标大小为192 x 192 px

技巧:自动生成对应分辨率的 icon launcher

新增于2016-08-11

使用 Android Studio ,在 module或者 drawable 上右键 new > ImageAsset ,可以把一张大图自动裁切成各 DPI 对应的分辨率的 icon launcher。

细节操作参照下图:

  1. 选择要生成的图片类型:Launcher Icons
  2. Name 会自动生成 ic_launcher ,如果不是则填成 ic_launcher
  3. Asset Type 设置成 Image ;
  4. path 一列的最后选择自己要生成的图片
  5. 调整 Shape 等参数;
  6. 点击 next 一路到 finish 即可。

PS:使用 Shape 的其他参数,比如圆角square , 会默认使用不支持透明度的颜色作为背景,所以要根据具体的图标进行修改,特殊的情况需要设计师切出带圆角和透明度的大图。

2. 不透明度16进制值

不透明度 16进制值
100% FF
95% F2
90% E6
85% D9
80% CC
75% BF
70% B3
65% A6
60% 99
55% 8C
50% 80
45% 73
40% 66
35% 59
30% 4D
25% 40
20% 33
15% 26
10% 1A
5% 0D
0% 00

3. dp和px换算及关系

各DPI的换算:

数据总结表:

名称 对应 DPI 比例(以 mdpi 为基数 1) 和px的换算关系
lpdi 120 DPI 0.75 1 dp = 0.75 px
mdpi 160 DPI 1 1 dp = 1 px
hdpi 240 DPI 1.5 1 dp = 1.5 px
xhdpi 320 DPI 2 1 dp = 2 px
xxhdpi 480 DPI 3 1 dp = 3 px
xxxhdpi 640 DPI 4 1 dp = 4 px

dp 到 px

这里给定:400 dp * 240 dp

则对应的图片分辨率分别为:

  • lpdi ⇒ 300 px * 180 px
  • mdpi ⇒ 400 px * 240 px
  • hdpi ⇒ 600 px * 360 px
  • xhdpi ⇒ 800 px * 480 px
  • xxhdpi ⇒ 1200 px * 720 px
  • xxxhdpi ⇒ 1600 px * 960 px

px 到 dp

px 换算成 dp 要知道它是以什么 dpi 标准来设计的,根据换算关系表可得到相应的 dp

例如: 以 xxhdpi 标准设计的 UI,其中一个切图的分辨率是 600 px * 360 px ,根据换算关系表可知,在 xxhdpi 标准下,1 dp = 3 px ,则其对应的 dp200 dp * 120 dp

PS:

你可以通过 GithubCSDN微博 和我交流

Android必知必会-App 常用图标尺寸规范汇总的更多相关文章

  1. Android,App 常用图标尺寸规范

    程序启动图标(Logo): 小屏ldpi() 36 x 36 px. 中屏mdpi(160dpi):48*48px 大屏hdpi(240dpi):72*72px 特大屏xhdpi(320dpi):96 ...

  2. iOS App Icon图标 尺寸规范

    Commit to AppStore:1024*1024 //for App IconIcon-60@3x.png:180*180 //iPhone 6 Plus (@3x)Icon-60@2x.pn ...

  3. Android UI 常用图标尺寸规范

    1. 程序启动图标: LDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px. MDPI (Medium Density Screen, 160 DPI ...

  4. Android必知必会-获取视频文件的截图、缩略图

    背景 公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下. 代码实现 /** * 获取 ...

  5. Android程序员必知必会的网络通信传输层协议——UDP和TCP

    1.点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余. 对于Android ...

  6. 迈向高阶:优秀Android程序员必知必会的网络基础

    1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...

  7. Android必知必会-使用okhttp的PUT方式上传文件

    注:如果移动端排版有问题,请看 简书版 (<-点击左边),希望CSDN能更好的支持移动端. 背景 公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp ...

  8. Django框架之第六篇(模型层)--单表查询和必知必会13条、单表查询之双下划线、Django ORM常用字段和参数、关系字段

    单表查询 补充一个知识点:在models.py建表是 create_time = models.DateField() 关键字参数: 1.auto_now:每次操作数据,都会自动刷新当前操作的时间 2 ...

  9. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...

随机推荐

  1. [SDOI 2009]Elaxia的路线

    Description 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间.Elaxia和w**每天都要奔波于宿舍和实验室之间, ...

  2. 模板Link Cut Tree (动态树)

    题目描述 给定N个点以及每个点的权值,要你处理接下来的M个操作.操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联 ...

  3. codeforces 868A Bark to Unlock

    As technologies develop, manufacturers are making the process of unlocking a phone as user-friendly ...

  4. poj 2065 高斯消元(取模的方程组)

    SETI Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1735   Accepted: 1085 Description ...

  5. 华科机考:N阶楼梯上楼

    时间限制:1秒空间限制:32768K 题目描述 N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式.(要求采用非递归) 输入描述: 输入包括一个整数N,(1<=N<90). 输出描 ...

  6. 关于惠普hp服务器开机时F10菜单变成F10 Function Disabled的解决方法

    今天笔者由于在Intelligent Provisioning智能配置里不小心将"启动Intelligent Provisioning"选项钩选成禁用了,如下 结果就造成,在之后服 ...

  7. 自定义shell终端提示符及颜色即修改 PS1文件 (以Centos为例)

    Linux修改Shell命令提示符及颜色 1. Linux登录过程中加载配置文件顺序: /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~ ...

  8. js去除空格,判断是否包含

    js去除空格 function trimStr(str){ return str.replace(/(^\s*)|(\s*$)/g,""); } js判断是否包含 //是否包含 f ...

  9. 查询优化--ORDER BY查询优化

    Mysql 系列文章主页 =============== ORDER BY 子句,尽量使用 Index 查询,避免使用 FileSort 排序 尽可能在索引列上完成排序操作,遵照索引的最佳左前缀原则 ...

  10. Python开发——排队问题随机模拟分析

    案例:主要是基于"蒙特卡罗思想",求解排队等待时间问题 场景:厕所排队问题 1.两场电影结束时间相隔较长,互不影响: 2.每场电影结束之后会有20个人想上厕所: 3.这20个人会在 ...