腾讯优测| 让Android屏幕适配开发更简单-Google百分比布
2016-07-15 14:52
459 查看
文/腾讯优测工程师 吴宇焕
腾讯优测优社区干货精选~
相信开发同学都被安卓设备碎片化的问题折磨过,市面上安卓手机的主流屏幕尺寸种类繁多,给适配造成很大的困难。就算搞定了屏幕尺寸问题,各种分辨率又让人眼花缭乱,当你走出了前面所说的两大坑,很有可能又掉进“屏幕长宽比不同”的陷阱。。。
说多了都是泪,我就想做一名安静的开发怎么这么难?
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/9177a149e431a7ef261242ff3ba297c2)
经历过无数次跌跌撞撞,我总结出一些经验,想与大家一起分享。
已知的屏幕适配方法:
(1)按像素比:y/开发时用的屏幕像素=x/用户设备像素
(2)按长度:用dip(假设屏幕尺寸基本不变)
(3)按密度:放在l、m、h文件夹(假设屏幕尺寸基本不变,dpi越大 PX越大)
而Android 5.0 Google官方推出了百分比布局支持库,意在解决大部分屏幕适配的问题。下面我就向大家详细介绍一下:
1、Google百分比布局支持库
(1)支持的布局
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/d9a1e52a2247e8bc8a28ca9df563bef2)
(2)支持的属性
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/113cb86263cb7d7af4014c0e30ca3760)
(3)使用方法
1、加载android-support-percent-lib
dependencies {
compile 'com.android.support:percent:22.2.0'
}
2、PercentRelativeLayout
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/b32f04926eb89358bb1760b8ac80a35c)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/68939496eb4b5a9a562828242fbd59f2)
3、PercentFrameLayout
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/4c628e2d5254c10824d3393154aefc99)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/5e9d43803e807729d51a4efae706269c)
实现原理
(1)View绘制过程
整个View树的绘图流程是在ViewRootImpl类的performTraversals()方法中,整个流程的大致流程图如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/ac18bf3810763b3231e167f65be3cacc)
(2)android-support-percent实现过程
根据view的绘制过程,通过阅读百分比布局库源码,绘制流程如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/5e7a45c1c12804fe7069efef3b1c111d)
今天对于Google百分比布局支持库就先说这么多,后续如果还有新的经验会及时与大家分享。最后说一句,想更有效、更放心的解决Android屏幕适配问题,多多体验腾讯优测,千余款真机等你来测!
![](https://oscdn.geek-share.com/Uploads/Images/Content/201607/314c10e0ddaab702a1aaec1a1e594792)
utest.qq.com
感兴趣可以马上加官群勾搭客服妹妹哦~
优测官方群:214483489
腾讯优测优社区干货精选~
相信开发同学都被安卓设备碎片化的问题折磨过,市面上安卓手机的主流屏幕尺寸种类繁多,给适配造成很大的困难。就算搞定了屏幕尺寸问题,各种分辨率又让人眼花缭乱,当你走出了前面所说的两大坑,很有可能又掉进“屏幕长宽比不同”的陷阱。。。
说多了都是泪,我就想做一名安静的开发怎么这么难?
经历过无数次跌跌撞撞,我总结出一些经验,想与大家一起分享。
已知的屏幕适配方法:
(1)按像素比:y/开发时用的屏幕像素=x/用户设备像素
(2)按长度:用dip(假设屏幕尺寸基本不变)
(3)按密度:放在l、m、h文件夹(假设屏幕尺寸基本不变,dpi越大 PX越大)
而Android 5.0 Google官方推出了百分比布局支持库,意在解决大部分屏幕适配的问题。下面我就向大家详细介绍一下:
1、Google百分比布局支持库
(1)支持的布局
(2)支持的属性
(3)使用方法
1、加载android-support-percent-lib
dependencies {
compile 'com.android.support:percent:22.2.0'
}
2、PercentRelativeLayout
3、PercentFrameLayout
实现原理
(1)View绘制过程
整个View树的绘图流程是在ViewRootImpl类的performTraversals()方法中,整个流程的大致流程图如下:
(2)android-support-percent实现过程
根据view的绘制过程,通过阅读百分比布局库源码,绘制流程如下:
今天对于Google百分比布局支持库就先说这么多,后续如果还有新的经验会及时与大家分享。最后说一句,想更有效、更放心的解决Android屏幕适配问题,多多体验腾讯优测,千余款真机等你来测!
utest.qq.com
感兴趣可以马上加官群勾搭客服妹妹哦~
优测官方群:214483489
相关文章推荐
- windows android studio 编译Jni动态库
- AsyncTask的使用和源码分析
- Ubuntu系统下android开发环境配置
- Android 应用的数据库
- 关于listview中添加倒计时功能卡顿问题
- Android学习笔记二十九之SwipeRefreshLayout、RecyclerView和CardView
- Android开发 友盟统计、推送集成,Error:Error converting bytecode to dex: Cause: com.android.dex.DexExcept0ion:
- Android和Gradle不得不说的一些事情
- Android应用程序插件化研究之AssetManager
- Android_自定义view动画按钮
- Android设备之间通过Wifi通信
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- Android使用NFC模拟IC卡
- Android实现简单的下拉刷新pulltorefresh
- android:打造自定义searchView
- android listview 点击最后两笔item 键盘遮挡问题解决
- Android推送服务——百度云推送
- Android学习资料总汇
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- Android 开发(实用技巧,持续更新)