快速屏幕适配的方法及系统技术方案

技术编号:39743676 阅读:14 留言:0更新日期:2023-12-17 23:43
本发明专利技术实施例公开了一种快速屏幕适配的方法及系统,重写

【技术实现步骤摘要】
快速屏幕适配的方法及系统


[0001]本专利技术涉及计算机
,具体涉及一种快速屏幕适配的方法

系统

电子设备及存储介质


技术介绍

[0002]在移动应用程序开发中,不同设备的屏幕分辨率差异会导致应用程序在不同设备上的显示效果不一致,需要进行屏幕适配

目前的屏幕适配方法包括使用多套不同分辨率的布局文件进行适配或根据屏幕分辨率进行动态计算布局参数,使用多套不同分辨率的布局文件进行适配需要为每个目标设备的分辨率编写独立的布局文件,对开发者而言工作量较大且繁琐

此外,随着设备分辨率的日益增多,需要编写的布局文件数量也会呈指数级增长,不够灵活和高效

[0003]根据屏幕分辨率进行动态计算布局参数,可以根据不同设备的分辨率和屏幕大小自动调整布局

该技术利用边界和约束条件来确定组件的位置和大小,使得布局在不同分辨率的设备上能够自动适应

然而,约束布局库需要额外的依赖和学习成本,并且在某些复杂的布局场景下可能会导致性能问题

[0004]因此,亟需一种工作量小

快速且高效的屏幕适配方法


技术实现思路

[0005]本专利技术实施例的目的在于提供一种快速屏幕适配的方法

系统

电子设备及存储介质,用以解决现有技术中使用多套不同分辨率的布局文件进行适配,工作量大且繁琐,根据屏幕分辨率进行动态计算布局参数,学习成本较高的问题

[0006]为实现上述目的,本专利技术实施例提供一种快速屏幕适配的方法,所述方法具体包括:
[0007]重写
getResource
方法;
[0008]获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
Resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局;
[0009]将当前分辨率的宽除以适配分辨率布局的宽,得到计算结果;
[0010]将
DisplayMetrics
中的三个成员变量乘以所述计算结果得到三个新数值;
[0011]将三个新数值分别赋值给
DisplayMetrics
中的三个成员变量得到三个新成员变量;
[0012]基于所述新成员变量完成屏幕适配

[0013]在上述技术方案的基础上,本专利技术还可以做如下改进:
[0014]进一步地,所述重写
getResource
方法,包括:
[0015]书写
1024
×
768

1280
×
800
的分辨率布局;
[0016]基于所述分辨率布局重写
getResource
方法

[0017]进一步地,所述获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局,包括:
[0018]计算当前屏幕分辨率的高宽比,判断所述高宽比是否大于
0.7
,当所述高宽比大于
0.7
时,使用
1024
×
768
的分辨率布局进行适配,当所述高宽比小于
0.7
时,使用
1280
×
800
的分辨率布局进行适配

[0019]进一步地,所述获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
Resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局,还包括:
[0020]使用
Context
获取
Resource
对象;
[0021]通过
Resource
对象获取到
DisplayMetrics。
[0022]进一步地,所述成员变量包括
density、scaleDensity

densityDpi。
[0023]进一步地,所述
scaleDensity

density
数值一致;
[0024]所述
densityDpi
为设备的当前
dpi
数值

[0025]进一步地,所述快速屏幕适配的方法,还包括:
[0026]基于所述新成员变量修改
Resource
对象;
[0027]将修改后的
Resource
对象返回

[0028]一种快速屏幕适配的系统,包括:
[0029]重写模块,用于重写
getResource
方法;
[0030]确定模块,用于获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
Resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局;
[0031]第一计算模块,用于将当前分辨率的宽除以适配分辨率布局的宽,得到计算结果;
[0032]第二计算模块,用于将
DisplayMetrics
中的三个成员变量乘以所述计算结果得到三个新数值;
[0033]赋值模块,用于将三个新数值分别赋值给
DisplayMetrics
中的三个成员变量得到三个新成员变量;
[0034]适配模块,用于基于所述新成员变量完成屏幕适配

[0035]一种电子设备,包括存储器

处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述方法的步骤

[0036]一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤

[0037]本专利技术实施例具有如下优点:
[0038]本专利技术中快速屏幕适配的方法,重写
getResource
方法;获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
Resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局;将当前分辨率的宽除以适配分辨率布局的宽,得到计算结果;将
DisplayMetrics
中的三个成员变量乘以所述计算结果得到三个新数值;将三个新数值分别赋值给
DisplayMetrics
中的三个成员变量得到三个新成员变量;基于所述新成员变量完成屏幕适配,解决了现有技术中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种快速屏幕适配的方法,其特征在于,所述方法具体包括:重写
getResource
方法;获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
Resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局;将当前分辨率的宽除以适配分辨率布局的宽,得到计算结果;将
DisplayMetrics
中的三个成员变量乘以所述计算结果得到三个新数值;将三个新数值分别赋值给
DisplayMetrics
中的三个成员变量得到三个新成员变量;基于所述新成员变量完成屏幕适配
。2.
根据权利要求1所述快速屏幕适配的方法,其特征在于,所述重写
getResource
方法,包括:书写
1024
×
768

1280
×
800
的分辨率布局;基于所述分辨率布局重写
getResource
方法
。3.
根据权利要求1所述快速屏幕适配的方法,其特征在于,所述获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局,包括:计算当前屏幕分辨率的高宽比,判断所述高宽比是否大于
0.7
,当所述高宽比大于
0.7
时,使用
1024
×
768
的分辨率布局进行适配,当所述高宽比小于
0.7
时,使用
1280
×
800
的分辨率布局进行适配
。4.
根据权利要求1所述快速屏幕适配的方法,其特征在于,所述获取设备的当前屏幕分辨率,基于所述当前屏幕分辨率通过
Resource
对象拿到
DisplayMetrics
,确定当前屏幕的适配分辨率布局,还包括:使用
Context
获取

【专利技术属性】
技术研发人员:沈陈姗刘海原李文鹏
申请(专利权)人:博视联苏州信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1