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图来完成多分辨率适配,但是对于一些游戏类应 ...
随机推荐
- Hadoop第5周练习—MapReduce计算气象温度等例子
:对云计算的看法 内容 :使用MapReduce求每年最低温度 内容 :求温度平均值能使用combiner吗? 内容 :使用Hadoop流求最高温度(awk脚本) 内容 :使用Hadoop流求最高温度 ...
- 队列的链式存储方式的实现(Java语言描述)
链队列的结构示意图: 先进先出. QueueInterface.java//操作方法接口 package 队列的实现; public interface QueueInterface { public ...
- Windows Azure Web Site (17) 设置Web App TimeOut时间
<Windows Azure Platform 系列文章目录> 我们在开发Azure Web App的时候,如果页面加载时间过长,可能需要设置Time Out时间. 在这里笔者简单介绍一下 ...
- DES算法详解
本文主要介绍了DES算法的步骤,包括IP置换.密钥置换.E扩展置换.S盒代替.P盒置换和末置换. 1.DES算法简介 DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准. DES是一个分组 ...
- [ASP.NET] 下一代ASP.NET开发规范:OWIN
今天投简历 准备面试了... 本节目录: OWIN简介 OWIN规范 Katana Hello World(3种Host) 自定义Middleware OWIN简介 OWIN(Open Web Int ...
- spring日记------部署环境、写demo
一.安装jdk1.7 祥见http://zhinan.sogou.com/guide/detail/?id=1610006590 二.创建web项目 略 三.配置ssm环境 3.1添加spring.m ...
- 数论 - 高精度Fibonacci数 --- UVa 10183 : How Many Fibs ?
How many Fibs? Description Recall the definition of the Fibonacci numbers: f1 := 1 f2 := 2 fn := f n ...
- 三分 --- CSU 1548: Design road
Design road Problem's Link: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1548 Mean: 目的:从(0,0)到 ...
- Use the PDFs below or the HTML contents to the left to install and configure P6 EPPM and its additional components.
Welcome to Your Documentation Use the PDFs below or the HTML contents to the left to install and c ...
- App.Config详解
App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是c ...