Android分辨率适配心得
关于Android分辨率适配,这个是Android开发很头疼的一个问题,也需要花费相当一部分开发时间处理的一个问题,往往一个界面怎么适配就得想半天,特别是新手,也经常有人问我是怎么适配分辨率的,我也不能几句话说清楚,自己也在研究中。
其实,我觉得分辨率适配,不只是研发单方面的事情,与产品、UI设计师也有很大关联。首先产品必须了解一点Android布局以及分辨率适配的知识,设计的界面布局可以尽量简洁一点,效果图界面显示效果尽量稀疏一点,考虑到各个尺寸的手机每个界面的显示情况。其次,UI设计师设计时,也最好先定义一些级别的尺寸,例如一个应用的所有文字大小只有6个级别,所有界面的设计都尽量在这6个级别中选取,不要每个界面文字都不同,这样终端如果在配置文件里配置文字大小,就只需要6个配置了,另外,按钮背景等的切图,能不使用颜色渐变就不使用颜色渐变,这样终端可以使用.9.png的图片,既减小apk的尺寸,又节约应用内存。
分辨率适配必须了解的知识:
Supporting Multiple Screens :http://wiki.eoeandroid.com/Supporting_Multiple_Screens
Providing Resources :http://wiki.eoeandroid.com/Providing_Resources
我觉得分辨率适配的主要的几种方式:
1、通过配置文件适配分辨率:
控件尺寸,我觉得可以以屏幕宽度作为参考,一般手机屏幕比例差不多是320*480,如果一个控件的高度大约是屏幕总高度的0.1,就就差不多是宽度的0.1*1.5倍。
例如,文字大小,可以以屏幕宽度做参考,定义几个级别的大小(sw为屏幕宽度):
<dimen name="screen_h_0_02">9.6dp</dimen>
<dimen name="screen_h_0_04">19.2dp</dimen>
<dimen name="screen_h_0_06">28.8dp</dimen>
<dimen name="screen_h_0_08">38.4dp</dimen>
<dimen name="screen_h_0_1">48dp</dimen> <!-- sw*0.15 -->
<dimen name="screen_h_0_2">96dp</dimen>
<dimen name="screen_h_0_3">144dp</dimen>
<dimen name="screen_h_0_4">192dp</dimen>
<dimen name="screen_h_0_5">240dp</dimen>
<dimen name="screen_h_0_6">288dp</dimen>
<dimen name="screen_h_0_7">336dp</dimen>
<dimen name="screen_h_0_8">384dp</dimen> <dimen name="screen_w_0_1">32dp</dimen>
<dimen name="screen_w_0_2">64dp</dimen>
<dimen name="screen_w_0_3">96dp</dimen>
<dimen name="screen_w_0_4">128dp</dimen>
<dimen name="screen_w_0_5">160dp</dimen>
<dimen name="screen_w_0_6">162dp</dimen>
<dimen name="screen_w_0_7">224dp</dimen>
<dimen name="screen_w_0_8">256dp</dimen>
<dimen name="screen_w_0_9">288dp</dimen>
<dimen name="screen_w">320dp</dimen> <!-- 文字 -->
<!-- 0.030*sw,列表3级 -->
<dimen name="com_textsize_small">9.6dp</dimen>
<!-- 0.042*sw,列表2级 -->
<dimen name="com_textsize_medium_small">13.4dp</dimen>
<!-- 0.049*sw,列表1级 -->
<dimen name="com_textsize_medium">15.7dp</dimen>
<!-- 0.059*sw,标题 -->
<dimen name="com_textsize_medium_large">18.9dp</dimen>
<!-- 0.074*sw,特大 -->
<dimen name="com_textsize_large">23.7dp</dimen> <!-- 按钮 -->
<!-- 0.081*sw,纯文字 -->
<dimen name="com_btn_h_medium_small">26dp</dimen>
<!-- 0.100*sw,短按钮 -->
<dimen name="com_btn_h_medium">32dp</dimen>
<!-- 0.125*sw,长按钮 -->
<dimen name="com_btn_h_medium_large">40dp</dimen>
<!-- 0.144*sw,特大 -->
<dimen name="com_btn_h_large">46dp</dimen> <!-- 间距 -->
<!-- 0.025*sw -->
<dimen name="com_padding_small">8dp</dimen>
<!-- 0.031*sw,activity padding -->
<dimen name="com_padding_medium_small">10dp</dimen>
<!-- 0.050*sw,上边距 -->
<dimen name="com_padding_medium">16dp</dimen>
<!-- 0.069*sw,模块间距 -->
<dimen name="com_padding_medium_large">22.1dp</dimen>
<!-- 0.094*sw,特大 -->
<dimen name="com_padding_large">30.1dp</dimen> ......
2.代码控制
Android分辨率适配心得的更多相关文章
- android分辨率适配
重要概念 什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 什么是dp.dip.dpi.sp.px?他们之间的关系是什么? 什么是mdpi.hdpi.xdpi.xxdpi?如何计算和区分? 在下面的内容中我 ...
- Android中,图片分辨率适配总结规则drawable drawable-mdpi drawable-hdpi drawable-nodpi drawable-ldpi
一直关于android多分辨率适配有些疑惑,从网上找到一些资料并通过测试验证,参考链接:http://blog.csdn.net/lamp_zy/article/details/7686477 现记录 ...
- Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi
Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...
- 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)
来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...
- Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- Android屏幕适配全攻略(最权威的官方适配指导) (转)
招聘信息: Cocos2d-X 前端主程 [新浪微博]手机客户端iOS研发工程师 20k-40k iOS 开发工程师 iOS高级开发工程师(中国排名第一的企业级移动互联网云计算公司 和创科技 红圈营销 ...
- 腾讯优测| 让Android屏幕适配开发更简单-Google百分比布
文/腾讯优测工程师 吴宇焕 腾讯优测优社区干货精选~ 相信开发同学都被安卓设备碎片化的问题折磨过,市面上安卓手机的主流屏幕尺寸种类繁多,给适配造成很大的困难.就算搞定了屏幕尺寸问题,各种分辨率又让人眼 ...
- Android多分辨率适配
前一阶段开发android项目,由于客户要求进行多分辨率适配,能够支持国内主流的分辨率手机.因此经过了几次开发走了很多弯路,目前刚刚领略了android多分辨率适配的一些方法. 先介绍一下所走的弯路, ...
- Android多分辨率适配经验总结
Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图片做成9图来完成多分辨率适配,但是对于一些游戏类应 ...
随机推荐
- [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成
Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...
- python面试题大全(二)
转载请注明出处http://www.cnblogs.com/goodhacker/p/3387027.html 1.python中类方法.类实例方法.静态方法有何区别? 区别: 类方法和静态方法都可以 ...
- Mysql学习笔记(八)索引
PS:把昨天的学习内容补上...发一下昨天学的东西....五月三日...继续学习数据库... 学习内容: 索引.... 索引的优点: 1.通过创建唯一索引,可以保证数据库每行数据的唯一性... 2.使 ...
- 《精通Linux内核必会的75个绝技》知识杂记
http://www.ibm.com/developerworks/cn/linux/l-cn-utrace/ utrace是为运行态的进程提供trace和debug支持. utrace能做如下事情: ...
- JS魔法堂:doctype我们应该了解的基础知识
一.前言 什么是doctype?其实我们一直使用,却很少停下来看清楚它到底是什么,对网页有什么作用.本篇将和大家一起探讨那个默默无闻的doctype吧! 二.什么是doctype doctype或DT ...
- [Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务
除了通过.net提供的windows服务模板外,Topshelf是创建Windows服务的另一种方法. 官网教程:http://docs.topshelf-project.com/en/latest/ ...
- 使用SignalR构建一个最基本的web聊天室
What is SignalR ASP.NET SignalR is a new library for ASP.NET developers that simplifies the process ...
- SQLDMOHelper
在网上传闻SQLDMO是个好东西,当时没有注意这个传闻是什么时候了,后来才在微软的官网上看见,从SQL Server2008开始就不用SQLDMO了,取而代之的是SMO.无奈了,还写了个Helper. ...
- 引入js和css文件的总结
1.用script标签引入javascript时,浏览器对于javascript的加载某些是并行的,某些是串行的,如IE8,Chorme2和firefox3都是串行加载的. 2.charset编码也就 ...
- 【百度SEO优化】如何让蜘蛛爬行你的网站
大家都知道,现在做网站简单,但是推广就比较困难了,可能一些商家引入投资,直接烧钱做广告来推广,但是对于一些小站长,是没有那么多资金的.因此我们就要懂得一些SEO优化的知识了,简单介绍一下: 怎么让百度 ...