Android屏幕适配
2015-12-20 22:18
465 查看
Android屏幕大小种类有很多,需要在开发的时候适配不同的手机屏幕,适配的方案有很多种可以在开发
中选择最适合的
一、常见适配方案
1.图片适配
2.等比缩放
分为:dimens(values文件下)
权重
java代码控制子控件宽高
3.layout重新布局
4.根据百分比布局(AndroidStudio)
目前只支持PercentRelativeLayout和PercentFrameLayout
5.终极方案(详情见下)
二、适配方案详解
1.图片适配
目前主流的手机屏幕是1080*1920和720*1280,一般美工切出来这两个屏幕的图片就可以使用市面上
大部分的Android手机了,当然如果美工很闲的话可以针对每种屏幕都切出一套图来,不过要考虑应
用程序不要太大
2.等比缩放
①dimens文件
以一种手机屏幕密度为标准,适配其他屏幕密度的手机
例如在480*800的屏幕中放置宽为240px的控件(宽度一半),现在要适配到320*480的手机上宽度应
为 =(240px/480px)*320=160px即为适配手机宽度的一半
dp引入
以屏幕密度划分常见的有7种,以逻辑尺寸(dp)划分常见有四种,可以一定程度上完成适配
android手机屏幕密度等级和屏幕逻辑尺寸的参数可以参考下面博客链接
http://blog.csdn.net/zhaoyw2008/article/details/46008513
②权重
在布局的时候全都按照权重的方式,那么这样的布局可以适应任何的屏幕(只能在线性布局中)
③java代码
布局中带有layout开头的属性都是以父布局为基准的,我们也可以在java代码中通过拿到父布局
的对象,通过父布局的layoutParams属性来布局本身
3.layout重新布局
无疑这是我们最最不想要的结果,一般是不会采用这种方法的
4.根据百分比布局
这是AndroidStudio中新引入的,类似于线性布局的权重,但是目前只有PercentRelativeLayout和
PercentFrameLayout两种布局
使用:
①要在gradle文件中添加节点
dependencies { compile 'com.android.support:percent:22.2.0' }
②设置根结点为PercentFrameLayout或者PercentRelativeLayout
③设置View的layout_width="0dp",layout_height="0dp"
④使用app:layout_heightPercent="百分比"
app:layout_widthPercent="百分比"
5.终极方案
以720*1280为基准 ,逻辑尺寸为360dp*640dp,通过代码生成其他三种逻辑尺寸对应大小的xml文件
每一个基准下dp值都转换为其他三种逻辑尺寸下的dp值,并且都以基准dp的名字命名
基准值如下
320dp*400dp下的值
这样就可以很方便、简单、快捷的做到屏幕适配,非常nice
三.小结
屏幕适配的这几种方式可以根据项目的具体情况使用,能够达到把项目做好的目的就好了,当然还有很
多其他方法来适配手机屏幕有待大家开发
相关文章推荐
- Android system
- Android-socket-client客户端<2>
- Android必学之数据适配器BaseAdapter
- Android 悬浮窗
- android4大组件之Service服务
- Android样式的开发:View Animation篇
- android中view创建过程
- Android---Canvas
- mac-android-虚机加速
- ApiDemos之activity切换动画
- 为什么 Android 手机总是越用越慢?
- ANDROID PAD版本号 PHONE版本号 源代码有什么 差别?
- Android之Fragment学习(四)
- Frame Animation 帧动画
- Android广播机制知识概要
- 怎样每天保持饱满的精神状态?
- Android内部嵌入MuPdf预览Pdf文件
- Android内核源码阅读环境配置
- Android中Parcelable接口用法
- Android 怎么录制视频