Andriod分辨率适配 Android UI 设计_android 华为高分辨率和低分辨 ui效果-程序员宅基地

技术标签: android  

1. 射鸡师 VS 攻城师 

在日常的Andriod开发中经常会遇到各种各样的PK,其中设计师和工程师的矛盾非常突出,我们来看一下双方的主要矛盾。

主要原因是由于设计师和工程师都只专注于自己的领域,对彼此的领域了解较少。

2. 几个基本的概念

1.分辨率:屏幕上显示的像素个数,单位尺寸内像素点越多,显示的图像就越清楚。

市场上主流分辨率有:480*800、 720*1280、 1080*1920(其他的早该淘汰了,忽略不计)。

2.屏幕密度:表示屏幕每英寸有多少个像素。

240dpi(480*800) 、320dpi(720*1280)、480dpi(1080*1920)

3.单位:

px:像素(设计师都知道像素是什么)。

dp:andriod开发中用于描述模块间距等,(可以很好的自适应)

240dpi下,1dp=1.5px

320dpi下,1dp=2px

480dpi下,1dp=3px

sp:和dp一样,只是用于描述字体大小的单位。

240dpi下,1sp=1.5px

320dpi下,1sp=2px

480dpi下,1sp=3px

3. 到底采用哪种分辨率来设计,到底需要提供多少套标注和切图。

1.只需要提供一套标注即可。

原则上需要为不同分辨单独进行标注,但由于开发成本等各种考虑。

  选取320dpi下(分辨率为:720*1280)进行设计,此分辨率下1dp=2px。

另外视觉可以直接从高分辨率进行设计、标注、切图,这样可以方便适配低分辨率。

2.只需要提供一套切图即可。

原则上设计师需要为不同分辨率单独标注切图,同样根据开发成本等要求。

1.一般采用720*1280的来设计。切图可以直接适配120*1280分辨率的机型。

2.720*1280下的切图资源基本可以适配其他机型,有些特殊的切图需要单独适配的,比如icon等。

3.适配480*800的机型,只需要把切图/1.5即可。

4.适配1080*1920机型,只需要把切图*1.5即可。

5.适配1080*1920的时候,不要单独硬生生的将图标放大1.5倍。这就要求在720*1280下画图的时候,尽量采用矢量图形来画      图。比如在720*1280下图图标是48px*48px的时候,适配1080*1920时候,48px*1.5=72px。把矢量图形调整为72px即可。把   切图资源给开发,开发会把切图单独放到xxhdpi的文件目录下,就会自动适配1080*1920的了。

同样要是适配480*800的,48px/1.5=32px,把切图给开发,开发会把切图资源单独放到hdpi的目录下,就会自动适配的。

720*1280下的切图资源,开发是放到xhdpi的目录下的。

3.使用相对单位进行标注。

设计师要建立相对单位概念,可以直接使用dp标注尺寸、sp标注文字大小;

Andriod官网中就采用相对单位进行标注的。

4.采用自适应布局。

由于Andriod设备尺寸较多,设计师设计时要考虑好固定和自适应部分。

5.标注尽量采用相对关系。

Andriod设备尺寸很多,不可能采用绝对定位方式来标注,因为绝对定位无法实现界面元素自适应,标注时说明和兄弟元素、父子元素之间的关系即可。

4. 文字。

中文字体:默认为Droid Sans Fallback,设计时可采用微软雅黑。

英文字体:Andriod4.x及以上采用Roboto,Andrio2.x和andriod3.x采用 Droid Sans。

建议尽量采用系统默认字体。

Andriod规范建议,字号采用12sp、14sp、18sp、22sp等四个级别来设计。

 

5. 总结。

1.采用720*1280分辨率来进行设计。(设计时,采用偶数值进行设计,方便dp和px的转换)

2.开始标注了,标注尽量采用相对位置进行标注。

3.切图了,首先在720*1280下进行切图,可以完全适配720*1280的机型。切图资源

4.分别适配480*800 、1080*1920(上面已经描述过了)

5.不要忘记了,开发完后要进行bug测试哦(视觉方面的)

6.终于上线了,有自豪感了吧。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BuddyUU/article/details/40483589

智能推荐

PyQt5 python运行cmd命令 传入参数 获取cmd结果 重定向 运行另一个python文件_pyqt qthread中执行cmd命令-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏24次。关键词PyQt5 pyqt5 python运行cmd命令 传入参数 获取cmd结果 重定向 运行python文件 py脚本写在前面如果运行的cmd输出不多,可以考虑使用subprocess(也可以重定向)我选择os.popen()的原因是我需要运行的py文件在cmd会输出很多内容,而且我需要对这些内容作处理,相比起使用subprocess,使用os.popen()会更快一些。代码(不传入..._pyqt qthread中执行cmd命令

骑士周游(马走棋盘)及剪枝分析-程序员宅基地

文章浏览阅读451次。一、题目在n x n棋盘(有n x n个格点的棋盘)的某个格点上有一个中国象棋马,马走日字。求一条周游棋盘的路径,使得马能够从起始位置起沿着该路径每个格点恰好走一次最后回到出发位置。二、思路1、初期思路:  首先想到的是用DFS来解决,不仅可以遍历全局还可以回溯,于是着手做了起来,虽然是DFS,但是在此题中,不需要用到邻接矩阵,也不需要数组来判断每点是否到过,一..._在n x n棋盘(有n x n个格点的棋盘)的某个格点上有一个中国象棋马,马走日字。求一

android源码目录结构-程序员宅基地

文章浏览阅读27次。Android 4.0|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导相关代码)|-- build (存放系统编译规则及generic等基础开发包配置)|-- cts (Android兼容性测试套件标准)|-- dalvik (dalvik JAVA虚拟机)|-- development (应用程序开发相关)|-- external (and...

BIN 转化为 S19 格式及 S19 格式解析_bin文件转s19文件-程序员宅基地

文章浏览阅读6.4k次。bin2srec.c/* BIN2SREC - Convert binary to Motorola S-Record file Copyright (C) 1998-2012 Anthony Goffart This program is free software: you can redistribute it and/or modify it under the term_bin文件转s19文件

无边工作,无际遐想-程序员宅基地

文章浏览阅读63次。又是一个胡乱涂鸦,最近很长一段时间我就像临产孕妇样,挣扎在“生产”边缘,每次将手放在键盘上,努力憋出一丝一缕。却就是伸不出个头来。还好,我比孕妇自由,可以停下来休息休息。有句话说的好:生活就是在指尖中溜走。忘了是谁说出来的,不过,放在这形容我们IT民工身上再恰当不过。我,就是在屏幕前览尽世间百态,冷暖情怀。在指尖上赢取生活薪水,展望美好未来。不是我颓废,也非自我解嘲。...

从一个页面请求开始(一)-程序员宅基地

文章浏览阅读228次。在本地浏览器上输入www.hello.com时,简单的实现流程是:在客户端上,检查本地的hosts文件中是否有主机名和ip对应,有对应ip,则用HTTP协议封装数据请求,添加应用层首部,添加tcp首部,添加ip首部,添加mac地址后从本地出去,到对应的WEB服务器上,没有对应的ip,则查找resolv.conf文件上DNS的位置,DNS不在同一网络内,则请求需要通过..._location 以某个请求开始

随便推点

linux实现Icinga-程序员宅基地

文章浏览阅读197次。ICINGA项目是 由Michael Luebben、HendrikB?cker和JoergLinge等人发起的,他们都是现有的Nagios项目社区委员会的成员,他们承诺,新的开源项 目将完全兼容以前的Nagios应用程序及扩展功能。在新项目的网站上,他们是如此定义ICINGA的,这将是一个介于Nagios社区版和企业版间的产 品。特别将致力于解决Nag...

原生js循环展示dom_为什么说JS的DOM操作很耗性能-程序员宅基地

文章浏览阅读278次。想问这样的问题,其实是自己心中没有个谱,一直用 js 计算性能来衡量 浏览器dom 操作性能。js性能和浏览器性能其实是两码事。这个问题很抽象,它里面涉及挺多个小的知识点。重申一点,js 操作 Dom 很耗性能,其实是在说很耗浏览器性能,具体和 js计算 性能没多大的关系;文章大致行文思路如下:URL从输入到页面展示的过程渲染HTML的过程为什么很“慢”重排重绘优化方案URL从输入到页面展示的过程..._原生jsfor循环动态渲染dom

python爬的csv文件在哪里_Python爬虫之踩坑记录--csv文件新增列-程序员宅基地

文章浏览阅读647次。起因:爬取拉勾网职位信息模块的技术栈,实现把技术栈爬回之前的csv文件(以新增列的方式)具体实现过程如下:使用Pandas的read_csv方法读取csv文件里面的PositionId,访问对应的网址设置headers、cookies、time.sleep、try-except,防止反爬机制利用BeautifulSoup方法爬取对应源码并用html.parser实现转化成Html5格式使用正则表达..._python爬虫中一般csv文件自动创建的在那里

h5课件制作_H5课件——H5页面在教学上的妙用-程序员宅基地

文章浏览阅读1.6k次。传统的课堂教学模式往往形成了老师单向灌输、学生被动接受的局面,我们不难看出传统教学模式的缺陷是非常明显的,其中关键的是作为认知主体的学生在整个教学过程中都始终处于被动地接受知识的地位,学生学习的主动性被忽视,甚至被压抑。很显然,这与现代社会对人才培养的要求是不相符合的,这种模式担负不了培养高素质的创造性人才的重担,因此,改变传统教学模式,打造适应新课改要求的高效课堂模式势在必行。这个时候有人就会说..._利用h5协助做课件

r语言导出文件为xlxs_R语言学习——R读取txt、csv、xls和xlsx格式文件-程序员宅基地

文章浏览阅读2.8k次。最近项目中运用到了R读取文件数据,所以把相关好用的、经过验证的方法总结了一下,有效避免下次入坑。1. R读取txt文件使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加载额外的包。read.table("/home/slave/test.txt",header=T,na.strings = c("NA"))1注意,此处的na.strings = c("NA") 的意思是..._r语言输出txt文件

浙江义乌机场开通义乌-首尔国际货机航线-程序员宅基地

文章浏览阅读213次。义乌机场开通义乌-首尔国际货机航线 义乌提供义乌机场开通义乌-首尔国际货机航线 义乌提供中新网义乌1月22日电 (记者 奚金燕)1月22日早晨7时30分,随着一架载有6吨货物从首尔飞往义乌的货机缓缓驶入机坪,标志着浙江义乌机场货机航线正式开通。地处浙江省中部的义乌,坐拥全球最大的小商品市场,有180万种商品销往全球200个国家和地区。近年来,义乌正致力于“买全球、卖全球”,加快打造世界“小商品之都..._近期坐飞机去义乌要隔离吗?