Android 动态布局实践 - 使用FrameLayout
来源:互联网 发布:php list range 编辑:程序博客网 时间:2024/05/17 03:29
一转眼,2015年已经接近尾声了,在本年的最后一天,博主为各位朋友带来2015年度最后一篇技术分享文章。
今天我们来聊一聊Android动态布局那点事。
最近项目中需要实现根据服务器的Json字串解析后,得到每一个控件的位置,然后将其按照既定的位置呈现在屏幕中。
关于算法,基本的思路就是首先取整个Layout的固定值。由于本次产品需求中,程序是只允许竖屏(Portrait),那么屏幕宽度便成为了固定值。当然,如果允许横屏(Landscape)的话,在旋转屏幕相关的生命周期中,对控件位置进行重新计算,然后重新摆放即可。
关于上述计算,我的建议是给出整个布局的宽高比、单个元素的起点坐标占整个布局的比例、单个元素的宽高占整个布局的比例。这样就可做到最大程度的屏幕适配,而且元素不会走形。
下面再说一下元素的摆放。一开始使用的是AbsoluteLayout,后来考虑到该类已被废弃,因此采用FrameLayout。
首先写一个类,继承FrameLayout;然后写一个Public的方法,用来设定数据源,并开始计算每个元素的位置。最后,利用循环逐个添加每个View即可。
最后,如果需要有点击事件,还需要为每一个View设置监听器。比较好的解决办法是利用接口回调。
完整代码见此:
https://github.com/XiaoWenHan/SmartModuleDemo
(请自行修改import类,并引入gson库)
0 0
- Android 动态布局实践 - 使用FrameLayout
- Android 布局 Framelayout 使用
- Android布局FrameLayout的使用
- Android布局FrameLayout的使用
- 【Android】使用FrameLayout布局实现霓虹灯效果
- Android框架布局FrameLayout的使用…
- android动态使用FrameLayout(简单使用)
- Android布局之FrameLayout
- Android之FrameLayout布局
- android--FrameLayout布局
- Android-布局之FrameLayout
- Android布局-FrameLayout
- Android布局详解:FrameLayout
- Android FrameLayout 帧布局
- Android基本布局-FrameLayout
- 使用FrameLayout(帧布局) 和Timer实现动态图片
- Android布局详解之一:FrameLayout
- Android布局方式(FrameLayout)学习
- 数据库数据横排显示
- ceph pg recovery参数限流值研究小结
- OpenSessionInViewFilter 的配置及作用
- mybatis xml文件传参
- C++开发人脸性别识别教程(4)——OpenCv的人脸检测函数
- Android 动态布局实践 - 使用FrameLayout
- Android6.0 MountService和vold详解(三) vold SD卡、otg
- Activity启动模式图文详解:standard, singleTop, singleTask 以及 singleInstance
- 非正常注册的RHEL无法YUM安装软件解决方法
- ASP.NET中Server.MapPath
- Windows7下Visual Studio 2015 Community + opencv3.1.0环境搭建
- qtp 订票用户登录脚本参数化实现循环播放(自带的Flight订票系统)
- SVD分解
- nodejs mysql 数据查询例子