一种终端应用动态适配智能终端屏幕的方法及系统
2016-07-30 14:13
381 查看
摘要 本发明涉及一种终端应用动态适配智能终端屏幕的方法,包括如下步骤:获取当前智能终端的屏幕参数及终端应用参数;根据终端应用参数读取对应的终端应用的展示界面基础值;根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;根据确定的位置关系在智能终端中显示所述终端应用。本发明能有效的保持终端应用在不同智能终端展示效果一致性,避免了在不同智能终端显示效果差异性的产生,有效的杜绝了终端应用给用户带来不好的体验效果,从而加强了终端应用平台适配性,为广大的智能终端开发者提供了一套完善的屏幕适配解决算法。 |
步骤1,获取当前智能终端的屏幕参数及终端应用参数;
步骤2,根据终端应用参数读取对应的终端应用的展示界面基础值;
步骤3,根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;
步骤4,根据确定的位置关系在智能终端中显示所述终端应用。
2.根据权利要求1所述一种终端应用动态适配智能终端屏幕的方法,其特征在于,所述屏幕参数包括分辨率,所述终端应用参数为控件ID。
3.根据权利要求2所述一种终端应用动态适配智能终端屏幕的方法,其特征在于,步骤2的具体实现为:根据终端应用的控件ID从数据库中读取预先配置的该控件的界面展示基础值。
4.根据权利要求3所述一种终端应用动态适配智能终端屏幕的方法,其特征在于,所述界面展示基础值包括宽、高、上边距、下边距、左边距、右边据、居左、居右、居上、居下、宽度自适应、高度自适应、水平居中和垂直居中。
5.根据权利要求3所述一种终端应用动态适配智能终端屏幕的方法,其特征在于,将待展示的终端应用的UI控件记为当前控件,将承载当前控件的控件记为父控件,如无承载的控件,将智能终端的屏幕记为父控件,步骤3的具体实现为:
步骤3.1,判断当前控件是否需要置顶,如果需要执行步骤3.2,否则执行步骤3.3;
步骤3.2,将当前控件的宽度设置为与父控件同宽;
步骤3.3,判断当前控件是否需要置底,如果需要执行步骤3.4,否则调用水平设置和垂直设置,执行步骤3.5;
步骤3.4,将当前控件的宽度设置为与父控件同宽,上边距=父控件的高-当前控件高;
步骤3.5,如果宽度自适应则将当前控件宽度设置为与父控件同宽;如果水平居中,则设置当前控件的左边距=父控件宽度-左边距-右边据;如果居右,则设置当前控件的左边距=父控件的宽-自身宽度。
6.一种终端应用动态适配智能终端屏幕的系统,其特征在于,包括参数获取模块、基础值读取模块、位置确定模块和界面展示模块;
所述参数获取模块,其用于获取当前智能终端的屏幕参数及终端应用参数;
所述基础值读取模块,其用于根据终端应用参数读取对应的终端应用的展示界面基础值;
所述位置确定模块,其用于根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;
所述界面展示模块,其用于根据确定的位置关系在智能终端中显示所述终端应用。
7.根据权利要求6所述一种终端应用动态适配智能终端屏幕的系统,其特征在于,所述屏幕参数包括分辨率,所述终端应用参数为控件ID。
8.根据权利要求7所述一种终端应用动态适配智能终端屏幕的系统,其特征在于,步骤2的具体实现为:根据终端应用的控件ID从数据库中读取预先配置的该控件的界面展示基础值。
9.根据权利要求8所述一种终端应用动态适配智能终端屏幕的系统,其特征在于,所述界面展示基础值包括宽、高、上边距、下边距、左边距、右边据、居左、居右、居上、居下、宽度自适应、高度自适应、水平居中和垂直居中。
10.根据权利要求8所述一种终端应用动态适配智能终端屏幕的系统,其特征在于,所述位置确定模块,首先判断当前控件是否需要置顶,如果需要将当前控件的宽度设置为与父控件同宽;否则判断当前控件是否需要置底,如果需要将当前控件的宽度设置为与父控件同宽,上边距=父控件的高-当前控件高;否则调用水平设置和垂直设置,如果宽度自适应则将当前控件宽度设置为与父控件同宽;如果水平居中,则设置当前控件的左边距=父控件宽度-左边距-右边据;如果居右,则设置当前控件的左边距=父控件的宽-自身宽度。
[0001] 技术领域
[0002] 本发明涉及终端应用展示技术领域,尤其涉及一种终端应用动态适配智能终端屏幕的方法及系统。
[0003] 背景技术
[0004] 伴随着智能手机的普及,市面上充斥着各种屏幕尺寸、密度、分辨率智能终端。并且没有相关行业规范要求。智能终端应用开发人员在开发智能终端应用时,无法保证其所开发应用能适配市面所有智能终端。经常出现应用在不同智能终端显示效果不一致。
[0005] 发明内容
[0006] 本发明所要解决的技术问题是针对现有技术的不足,提供一种终端应用动态适配智能终端屏幕的方法及系统。
[0007] 本发明解决上述技术问题的技术方案如下:一种终端应用动态适配智能终端屏幕的方法,包括如下步骤:
[0008] 步骤1,获取当前智能终端的屏幕参数及终端应用参数;
[0009] 步骤2,根据终端应用参数读取对应的终端应用的展示界面基础值;
[0010] 步骤3,根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;
[0011] 步骤4,根据确定的位置关系在智能终端中显示所述终端应用。
[0012] 本发明的有益效果是:本发明在程序初始化时,获取当前智能终端屏幕分辨率等参数,通过位置关系算法,计算出终端应用的UI控件在当前智能终端中的位置,通过设置UI控件的位置关系确定控件在屏幕的位置。本发明能有效的保持终端应用在不同智能终端展示效果一致性,避免了在不同智能终端显示效果差异性的产生,有效的杜绝了终端应用给用户带来不好的体验效果,从而加强了终端应用平台适配性,为广大的智能终端开发者提供了一套完善的屏幕适配解决算法。
[0013] 一种终端应用动态适配智能终端屏幕的系统,包括参数获取模块、基础值读取模块、位置确定模块和界面展示模块;
[0014] 所述参数获取模块,其用于获取当前智能终端的屏幕参数及终端应用参数;
[0015] 所述基础值读取模块,其用于根据终端应用参数读取对应的终端应用的展示界面基础值;
[0016] 所述位置确定模块,其用于根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;
[0017] 所述界面展示模块,其用于根据确定的位置关系在智能终端中显示所述终端应用。
[0018] 附图说明
[0019] 图1为本发明所述一种终端应用动态适配智能终端屏幕的方法流程图;
[0020] 图2为本发明所述一种终端应用动态适配智能终端屏幕的系统框图。
[0021] 附图中,各标号所代表的部件列表如下:
[0022] 1、参数获取模块,2、基础值读取模块,3、位置确定模块,4、界面展示模块。
[0023] 具体实施方式
[0024] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0025] 如图1所示,一种终端应用动态适配智能终端屏幕的方法,包括如下步骤:
[0026] 步骤1,获取当前智能终端的屏幕参数及终端应用参数;
[0027] 步骤2,根据终端应用参数读取对应的终端应用的展示界面基础值;
[0028] 步骤3,根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;
[0029] 步骤4,根据确定的位置关系在智能终端中显示所述终端应用。
[0030] 其中,所述屏幕参数包括分辨率,所述终端应用参数为控件ID。
[0031] 步骤2的具体实现为:根据终端应用的控件ID从数据库中读取预先配置的该控件的界面展示基础值。
[0032] 所述界面展示基础值包括宽、高、上边距、下边距、左边距、右边据、居左、居右、居上、居下、宽度自适应、高度自适应、水平居中和垂直居中。
[0033] 将待展示的终端应用的UI控件记为当前控件,将承载当前控件的控件记为父控件,如无承载的控件,将智能终端的屏幕记为父控件,步骤3的具体实现为:
[0034] 步骤3.1,判断当前控件是否需要置顶,如果需要执行步骤3.2,否则执行步骤3.3;
[0035] 步骤3.2,将当前控件的宽度设置为与父控件同宽;
[0036] 步骤3.3,判断当前控件是否需要置底,如果需要执行步骤3.4,否则调用水平设置和垂直设置,执行步骤3.5;
[0037] 步骤3.4,将当前控件的宽度设置为与父控件同宽,上边距=父控件的高-当前控件高;
[0038] 步骤3.5,如果宽度自适应则将当前控件宽度设置为与父控件同宽;如果水平居中,则设置当前控件的左边距=父控件宽度-左边距-右边据;如果居右,则设置当前控件的左边距=父控件的宽-自身宽度。
[0039] 其中关键代码如下:
[0040]
[0041]
[0042]
[0043]
[0044]
[0045] 如图2所示,一种终端应用动态适配智能终端屏幕的系统,包括参数获取模块1、基础值读取模块2、位置确定模块3和界面展示模块4;所述参数获取模块1,其用于获取当前智能终端的屏幕参数及终端应用参数;所述基础值读取模块2,其用于根据终端应用参数读取对应的终端应用的展示界面基础值;所述位置确定模块3,其用于根据屏幕参数和终端应用的展示界面基础值利用位置关系算法,确定终端应用在智能终端中的位置关系;所述界面展示模块4,其用于根据确定的位置关系在智能终端中显示所述终端应用。
[0046] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
相关文章推荐
- 笔记
- 使用 JavaScript 和 canvas 做精确的像素碰撞检测
- 2131数据结构实验之栈一:进制转换
- Java递归实现全排列
- Boost库中scoped_array
- BZOJ2243: [SDOI2011]染色 树链剖分
- py-faster-rcnn_caffemodel对人脸进行标注
- 监控之Nagios+Nrpe
- 实时日志收集方法、系统和应用服务器集群
- 输出打印101-1000之间所有的素数
- Oracle 序列的创建与运用 内含约束补充内容
- 高德云检索
- 卡尔曼滤波(Kalman filtering)小结
- 四种常见的 POST 提交数据方式
- HDU 1.1.5
- 初识puppet
- leetcode Meeting Rooms II
- HTTP缓存策略学习总结
- 删除文本中的某一行
- Java程序员的Scala入门教程