一种Linux平台上安卓系统DPI自调整方法及装置制造方法及图纸

技术编号:27536617 阅读:17 留言:0更新日期:2021-03-03 11:24
本发明专利技术公开了一种Linux平台上安卓系统DPI自调整方法及装置,通过计算Linux系统上显示的字符与Android兼容环境中的Android系统上显示的字符之间的尺寸差值,迭代设置Android系统的DPI,实现了Android系统的字符尺寸与Linux系统的自适应,有效简化了用户的操作过程,提高了用户使用体验。提高了用户使用体验。提高了用户使用体验。

【技术实现步骤摘要】
一种Linux平台上安卓系统DPI自调整方法及装置


[0001]本专利技术属于在桌面操作系统上运行移动应用的开发
,具体涉及一种Linux平台上安卓系统DPI自调整方法及装置。

技术介绍

[0002]Linux或Windows等桌面操作系统Android兼容环境(下文简称Android兼容环境)是一种在Linux或Windows操作系统上运行Android应用(App)的技术,对丰富操作系统应用生态有着重要的意义。例如,运行于Linux系统上的Android兼容环境一般由Host端和Guest端组成,Host端运行于Linux系统上,主要包括Android容器和用户交互窗口,Android容器的作用是从Linux系统中隔离出部分内核资源来支撑Guest端运行,Guest端主要包括特殊定制的Android 应用框架和Android运行时库等,Android应用都运行在Guest端。用户在Linux 操作系统使用Android应用时,Android应用的窗口的实现方式为:Linux系统的窗口将句柄发送给运行于Android容器中的Android系统,由Android系统渲染得到的Android应用用户界面,其中,xDroidUI就是Android应用用户界面的一种实现。
[0003]当用户在Linux系统中使用Android兼容环境运行Android应用时,会面临显示的Android应用用户界面内的字体与其所在的Linux系统图形界面所显示的字体大小不同的情况。现有技术的情况是,Linux系统图形界面通过设置字体的 Size来设置字体的显示大小,而Android系统则是通过设置DPI的取值来设置全局字体的大小,Android系统设置的DPI值越大字体显示的尺寸则越大。全局字体的含义是指Android系统内所有的字体,全局字体是与Android应用自身可设置的局部字体相对的概念。因此,当出现Android应用用户界面内的字体与其所在的Linux系统图形界面所显示的字体大小不同的情况时,为了获得更好的使用体验,用户只能通过反复人工设置Android兼容环境的DPI的方式,使Android 应用用户界面的字体与Linux系统图形界面的字体大小相近。然而这种方式往往需要多次反复调整才能达到比较理想的效果,为用户操作带来了不便,很大程度上影响了用户的使用体验。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种Linux平台上安卓系统DPI自调整方法及装置,能够实现Linux平台上Android兼容环境中Android应用显示界面的字符尺寸与Linux系统桌面字符尺寸之间的自适应。
[0005]本专利技术提供的一种Linux平台上安卓系统DPI自调整方法,具体包括以下步骤:
[0006]获取Linux系统所显示的待测字符的Linux尺寸;将所述待测字符显示在所述Linux系统内Android兼容环境中运行的Android系统中,由所述Android系统测试所述待测字符的Android尺寸;若所述Linux尺寸与所述Android尺寸的差值大于阈值,则迭代设置所述Android系统的DPI,直至所述Linux尺寸与所述Android尺寸的差值小于所述阈值。
[0007]进一步地,所述获取Linux系统所显示的待测字符的Linux尺寸,具体包括以下步
骤:采用应用程序开发框架Qt的API获取所述待测字符的高和宽。
[0008]进一步地,所述将所述待测字符显示在所述Linux系统内Android兼容环境中运行的Android系统中,由所述Android系统测试所述待测字符的Android尺寸,具体包括以下步骤:
[0009]在所述Android系统中在设定颜色的背景下显示所述待测字符,所述待测字符显示为与背景不同的颜色,截取带有所述待测字符的Android屏幕,使用图像分析工具分析所述Android屏幕,获取所述待测字符的宽和高。
[0010]进一步地,所述方法还包括以下步骤:
[0011]步骤1、在所述Linux系统中任意选择字符X,获取字符X的高h
X
和宽w
X

[0012]步骤2、在所述Android系统中显示所述字符X为字符X

,获取所述字符X

的高h
X

和宽w
X


[0013]步骤3、对比高h
X
和宽w
X
与高h
X

和宽w
X

,若高h
X

和宽w
X

均大于高h
X
和宽w
X
且差值大于阈值,则按照设定的步长将所述Android系统当前的DPI减去步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高 h
X

和宽w
X

均小于高h
X
和宽w
X
且差值大于阈值,则按照设定的步长将所述 Android系统当前的DPI加上步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高h
X

和宽w
X

与高h
X
和宽w
X
之间的差值均不大于阈值,则结束本流程。
[0014]进一步地,所述待测字符的尺寸以像素为单位。
[0015]本专利技术提供的一种Linux平台上安卓系统DPI自调整装置,包括:Linux系统字符测量单元、Android系统字符显示单元、Android系统字符测量单元及 Android系统DPI调整单元;
[0016]所述Linux系统字符测量单元,运行于Linux系统内,用于测量Linux系统中显示的待测字符的尺寸;
[0017]所述Android系统字符显示单元,运行于Linux系统内Android兼容环境的 Android系统中,用于在Android系统启动时显示所述待测字符;
[0018]所述Android系统字符测量单元,用于测量所述Android系统显示的所述待测字符的尺寸;
[0019]所述Android系统DPI调整单元,用于根据所述Linux系统字符测量单元和所述Android系统字符测量单元输出的字符尺寸之间的关系,调整所述Android 系统DPI的设置并重启所述Android系统。
[0020]进一步地,所述Android系统DPI调整单元调整所述Android系统DPI的设置并重启所述Android系统的方式为:
[0021]当所述Linux系统字符测量单元输出的尺寸大于所述Android系统字符测量单元输出的尺寸且差值大于阈值时,在所述Android系统当前DPI的基础是增加设定步长后得到DPI的设定值,采用设定值设定所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Linux平台上安卓系统DPI自调整方法,其特征在于,具体包括以下步骤:获取Linux系统所显示的待测字符的Linux尺寸;将所述待测字符显示在所述Linux系统内Android兼容环境中运行的Android系统中,由所述Android系统测试所述待测字符的Android尺寸;若所述Linux尺寸与所述Android尺寸的差值大于阈值,则迭代设置所述Android系统的DPI,直至所述Linux尺寸与所述Android尺寸的差值小于所述阈值。2.根据权利要求1所述的方法,其特征在于,所述获取Linux系统所显示的待测字符的Linux尺寸,具体包括以下步骤:采用应用程序开发框架Qt的API获取所述待测字符的高和宽。3.根据权利要求1所述的方法,其特征在于,所述将所述待测字符显示在所述Linux系统内Android兼容环境中运行的Android系统中,由所述Android系统测试所述待测字符的Android尺寸,具体包括以下步骤:在所述Android系统中在设定颜色的背景下显示所述待测字符,所述待测字符显示为与背景不同的颜色,截取带有所述待测字符的Android屏幕,使用图像分析工具分析所述Android屏幕,获取所述待测字符的宽和高。4.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:步骤1、在所述Linux系统中任意选择字符X,获取字符X的高h
X
和宽w
X
;步骤2、在所述Android系统中显示所述字符X为字符X

,获取所述字符X

的高h
X

和宽w
X

;步骤3、对比高h
X
和宽w
X
与高h
X

和宽w
X

,若高h
X

和宽w
X

均大于高h
X
和宽w
X
且差值大于阈值,则按照设定的步长将所述Android系统当前的DPI减去步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高h
X

和宽w
X

均小于高h
X
和宽w
X
且差值大于阈值,则按照设定的步长将所述Android系...

【专利技术属性】
技术研发人员:温研
申请(专利权)人:北京麟卓信息科技有限公司
类型:发明
国别省市:

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

1