android屏幕适配教程,Android屏幕适配方案,android屏幕适配
Android屏幕适配方案,android屏幕适配
文章转载禁止用于商业用途,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处莫高雷草原以及作者@JiongBull。
Android屏幕适配方案
统计分析
1. 2014Q1活跃Android设备统计
参数表格:
机型
分辨率
像素密度
屏幕宽度
三星Galaxy Note2
720 * 1280
xhdpi
360dp
三星Galaxy S3
720 * 1280
xhdpi
360dp
小米手机2S
720 * 1280
xhdpi
360dp
三星Galaxy S4
1080 * 1920
xxhdpi
360dp
三星Galaxy S2
480 * 800
hdpi
320dp
三星Galaxy Note
800 * 1280
xhdpi
400dp
三星Galaxy Note3
1080 * 1920
xxhdpi
360dp
红米手机
720 * 1280
xhdpi
360dp
小米手机1S
720 * 1280
xhdpi
360dp
三星Galaxy Ace
480 * 800
hdpi
320dp
小米手机M2
720 * 1280
xhdpi
360dp
小米手机M3
1080 * 1920
xxhdpi
360dp
小米手机M1
480 * 854
hdpi
320dp
小米手机2A
720 * 1280
xhdpi
360dp
三星GT-S7568
480 * 800
hdpi
320dp
华为G520
480 * 854
hdpi
320dp
三星Galaxy Mega 5.8
540 * 960
hdpi
360dp
三星GT-S7562
480 * 800
hdpi
320dp
OPPO R821t
480 * 800
hdpi
320dp
华为C8815
540 * 960
hdpi
360dp
结论:绝大部分机型的屏幕宽度是320dp和360dp。
2. 2014Android操作系统趋势
结论:4.0版本以上的操作系统占据了90%以上的市场份额。
方案
1. 声明客户端支持的最小操作系统版本
过滤掉老旧版本操作系统,帮助我们减少针对时机型适配带来的工作量
可以使用Android 3.2(API等级13)版本提供的新特征利用屏幕的宽度对不同的屏幕做适配
2. 声明屏幕方向为竖屏
避免用户横屏时页面布局错乱。
android:screenOrientation="portrait"
3. 布局
针对手机设备,使用一套布局资源,布局中里用到的尺寸、颜色、文本等资源使用引用值。
res/layout/name.xml
4. 尺寸
参考统计分析里的参数表格,values-w320dp目录内属性适配屏幕宽度为320dp的机型,values-w360dp目录内的属性适配屏幕宽度为360dp的机型。
res/values-w320dp/dimens.xml
res/values-w360dp/dimens.xml
5. 图片
如果可以避免使用位图那就不要使用位图,这样可以节省空间资源,提高应用的性能
可以使用XML绘图代替位图,比如圆角矩形,使用XML绘制的色图比位图节省空间资源,而且可以自动适配
使用9-patch,9-patch可以缩放,我们可以使用很小的9-patch填充很大的UI控件,节省空间资源,提高应用的性能
尽量减少XML的布局层次,减少布局层次可以减少系统解析代码所做的工作,让界面的渲染速度变快
使用merge而不是include,使用merge可以达到减少布局层次的效果
尽量使用RelativeLayout,使用RelativeLayout相比使用多个LinearLayout来说可以减少布局的层次
每种切图都需要下面表格中的展示的三种规格
像素密度
系数
Logo分辨率
hdpi
1.5
72 * 72
xhdpi
2.0
96 * 96
xxhdpi
3.0
144 * 144
http://www.dengb.com/Androidjc/918534.htmlwww.dengb.comtruehttp://www.dengb.com/Androidjc/918534.htmlTechArticleAndroid屏幕适配方案,android屏幕适配 文章转载 禁止 用于商业用途,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处莫高雷...
android屏幕适配教程,Android屏幕适配方案,android屏幕适配相关推荐
- [Android Studio 权威教程]Windows下安装Android Studio
从AS 0.5版本号開始使用.也是AS的推行者,在ApkBus公布的第一篇Android Studio Perview 2 获得了50K的浏览,1800多条回复下载. 在我的[Android Stud ...
- 《Android UI基础教程》——1.2节Android 应用程序的基本结构
本节书摘来自异步社区<Android UI基础教程>一书中的第1章,第1.2节Android 应用程序的基本结构,作者 [美]Jason Ostrander,更多章节内容可以访问云栖社区& ...
- 微信 Android design 代码,[教程]让微信界面更加 Android Design
在早期 Android 的生态链还未完全建立起来的时候,很多 Android 软件基本上都是照搬 iOS 上面的那一套拟物风格,包括界面.样式.交互等,如此生搬硬套使得很多 Android 软件体验不 ...
- android换iphone教程,换手机必看 Android转iPhone换机教程
2.短信 微信只有备份通讯录的功能,第三方软件包括QQ同步助手等虽然支持通话记录.短信的备份,但是无法再Android和iOS之间互通,想要在不越狱的情况下完成短信的备份有些繁琐,接下来我们就为大家演 ...
- 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )
文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...
- android,项目,一些教程
常用的自定义view和第三方类库 Android快速开发框架,MVP架构 Java无框架实现爬取知乎用户信息.图片和知乎推荐内容并下载到本地或数据库中 让接口和文档见鬼去吧!客户端定义服务端返回JSO ...
- Android Studio 权威教程
[Android Studio 权威教程]打包.生成jks密钥.签名Apk.多渠道打包 [Android Studio 权威教程]多渠道打包和一键完成(全部产品)打包并签名 [Android Stud ...
- ANDROID STUDIO详细教程汇总
这个系列教程在Android Studio Beta版本的时候就开始着手编写,当时就认为AS绝对会成为Android开发的未来,时至今日印证了当时的观点,作为国内最早一批AS教程之一,可以帮助从未接触 ...
- Android游戏开发教程汇总
Android游戏开发教程汇总 把最近搜集到的Android游戏开发教程列出来,希望对大家有用. 1.Android2.0游戏开发实战宝典源代码,当然可能大家已经把书也买回家啦. 2.Pro.Andr ...
- 最新Android基础入门教程目录(完结版)
第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...
最新文章
- 北斗时钟在国内各行业的应用前景
- Android Studio 从安装到 Hello World
- MVC防止CSRF攻击
- 前端 JS/TS 调用 ASP.NET Core gRPC-Web
- 第七十二期:Visual Studio Online 终于公开上线了
- a标签的href传递信息
- 编程之美--高效率算出1的数目之扩展问题
- Helpful links
- Cloudera迁移scm数据库
- 网络调试助手做什么用的
- 微信扫码支付开发流程
- 使用wait函数获取子进程终止状态
- 折腾家里的龟速网络有感
- Can‘t get JDBC type for struct<date:int,day:int,hours:int,minutes:int,month:int,seconds:int,time:big
- optics算法matlab实现,OPTICS聚类算法的matlab实现
- 状态空间方程的能控性与能观性判断
- 电脑启动项和系统引导项设置
- Cong! ZOJ 100AC!
- [python作业]给定字符串“site sea suede sweet see kase sse ssee loses“,匹配出所有s开头,e结尾的单词。
- (六)ArcCatalog应用基础——目录内容浏览
热门文章
- TypeError: 'float' object is not iterable
- VS2010 转VS2008
- ibatis 如何直接执行sql语句
- 杭电5620 KK's Steel
- InternetCheckConnection 通过尝试连接特定的网址,可以用来判断目前机器是否接通外网
- C语言和设计模式(责任链模式)
- android 滑动取值_Android-自定义ViewGroup-上下滑动整体实践下
- python创建一个csv文件_python如何写入csv
- go语言和python-新学语言,选GO还是Python
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求