CN112433695A - 一种Linux平台上安卓系统DPI自调整方法及装置 - Google Patents

一种Linux平台上安卓系统DPI自调整方法及装置 Download PDF

Info

Publication number
CN112433695A
CN112433695A CN202011367574.4A CN202011367574A CN112433695A CN 112433695 A CN112433695 A CN 112433695A CN 202011367574 A CN202011367574 A CN 202011367574A CN 112433695 A CN112433695 A CN 112433695A
Authority
CN
China
Prior art keywords
android
character
android system
dpi
linux
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011367574.4A
Other languages
English (en)
Other versions
CN112433695B (zh
Inventor
温研
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Linzhuo Information Technology Co Ltd
Original Assignee
Beijing Linzhuo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Linzhuo Information Technology Co Ltd filed Critical Beijing Linzhuo Information Technology Co Ltd
Priority to CN202011367574.4A priority Critical patent/CN112433695B/zh
Publication of CN112433695A publication Critical patent/CN112433695A/zh
Application granted granted Critical
Publication of CN112433695B publication Critical patent/CN112433695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Linux平台上安卓系统DPI自调整方法及装置,通过计算Linux系统上显示的字符与Android兼容环境中的Android系统上显示的字符之间的尺寸差值,迭代设置Android系统的DPI,实现了Android系统的字符尺寸与Linux系统的自适应,有效简化了用户的操作过程,提高了用户使用体验。

Description

一种Linux平台上安卓系统DPI自调整方法及装置
技术领域
本发明属于在桌面操作系统上运行移动应用的开发技术领域,具体涉及一种Linux平台上安卓系统DPI自调整方法及装置。
背景技术
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应用用户界面的一种实现。
当用户在Linux系统中使用Android兼容环境运行Android应用时,会面临显示的Android应用用户界面内的字体与其所在的Linux系统图形界面所显示的字体大小不同的情况。现有技术的情况是,Linux系统图形界面通过设置字体的 Size来设置字体的显示大小,而Android系统则是通过设置DPI的取值来设置全局字体的大小,Android系统设置的DPI值越大字体显示的尺寸则越大。全局字体的含义是指Android系统内所有的字体,全局字体是与Android应用自身可设置的局部字体相对的概念。因此,当出现Android应用用户界面内的字体与其所在的Linux系统图形界面所显示的字体大小不同的情况时,为了获得更好的使用体验,用户只能通过反复人工设置Android兼容环境的DPI的方式,使Android应用用户界面的字体与Linux系统图形界面的字体大小相近。然而这种方式往往需要多次反复调整才能达到比较理想的效果,为用户操作带来了不便,很大程度上影响了用户的使用体验。
发明内容
有鉴于此,本发明提供了一种Linux平台上安卓系统DPI自调整方法及装置,能够实现Linux平台上Android兼容环境中Android应用显示界面的字符尺寸与Linux系统桌面字符尺寸之间的自适应。
本发明提供的一种Linux平台上安卓系统DPI自调整方法,具体包括以下步骤:
获取Linux系统所显示的待测字符的Linux尺寸;将所述待测字符显示在所述Linux系统内Android兼容环境中运行的Android系统中,由所述Android系统测试所述待测字符的Android尺寸;若所述Linux尺寸与所述Android尺寸的差值大于阈值,则迭代设置所述Android系统的DPI,直至所述Linux尺寸与所述Android尺寸的差值小于所述阈值。
进一步地,所述获取Linux系统所显示的待测字符的Linux尺寸,具体包括以下步骤:采用应用程序开发框架Qt的API获取所述待测字符的高和宽。
进一步地,所述将所述待测字符显示在所述Linux系统内Android兼容环境中运行的Android系统中,由所述Android系统测试所述待测字符的Android尺寸,具体包括以下步骤:
在所述Android系统中在设定颜色的背景下显示所述待测字符,所述待测字符显示为与背景不同的颜色,截取带有所述待测字符的Android屏幕,使用图像分析工具分析所述Android屏幕,获取所述待测字符的宽和高。
进一步地,所述方法还包括以下步骤:
步骤1、在所述Linux系统中任意选择字符X,获取字符X的高hX和宽wX
步骤2、在所述Android系统中显示所述字符X为字符X,获取所述字符X的高hX’和宽wX’
步骤3、对比高hX和宽wX与高hX’和宽wX’,若高hX’和宽wX’均大于高hX和宽wX且差值大于阈值,则按照设定的步长将所述Android系统当前的DPI减去步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高 hX’和宽wX’均小于高hX和宽wX且差值大于阈值,则按照设定的步长将所述 Android系统当前的DPI加上步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高hX’和宽wX’与高hX和宽wX之间的差值均不大于阈值,则结束本流程。
进一步地,所述待测字符的尺寸以像素为单位。
本发明提供的一种Linux平台上安卓系统DPI自调整装置,包括:Linux系统字符测量单元、Android系统字符显示单元、Android系统字符测量单元及 Android系统DPI调整单元;
所述Linux系统字符测量单元,运行于Linux系统内,用于测量Linux系统中显示的待测字符的尺寸;
所述Android系统字符显示单元,运行于Linux系统内Android兼容环境的Android系统中,用于在Android系统启动时显示所述待测字符;
所述Android系统字符测量单元,用于测量所述Android系统显示的所述待测字符的尺寸;
所述Android系统DPI调整单元,用于根据所述Linux系统字符测量单元和所述Android系统字符测量单元输出的字符尺寸之间的关系,调整所述Android 系统DPI的设置并重启所述Android系统。
进一步地,所述Android系统DPI调整单元调整所述Android系统DPI的设置并重启所述Android系统的方式为:
当所述Linux系统字符测量单元输出的尺寸大于所述Android系统字符测量单元输出的尺寸且差值大于阈值时,在所述Android系统当前DPI的基础是增加设定步长后得到DPI的设定值,采用设定值设定所述Android系统的DPI,重启所述Android兼容环境;
当所述Linux系统字符测量单元输出的尺寸小于所述Android系统字符测量单元输出的尺寸且差值大于阈值时,在所述Android系统当前DPI的基础是减少设定步长后得到DPI的设定值,采用设定值设定所述Android系统的DPI,重启所述Android兼容环境;
当所述Linux系统字符测量单元输出的尺寸与所述Android系统字符测量单元输出的尺寸之间的差值小于阈值时,结束调整。
进一步地,所述Android系统字符显示单元运行在所述Linux系统中或运行在所述Android系统中。
进一步地,所述Android系统DPI调整单元运行在所述Linux系统中或运行在所述Android系统中。
有益效果:
本发明根据Linux系统上显示的字符与Android兼容环境中的Android系统上显示的字符之间的尺寸差值,迭代设置Android系统的DPI,实现了Android 系统的字符尺寸与Linux系统的自适应,有效简化了用户的操作过程,提高了用户使用体验。
附图说明
图1为本发明提供的一种Linux平台上安卓系统DPI自调整方法的流程图。
图2为本发明提供的一种Linux平台上安卓系统DPI自调整装置的结构图1
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种Linux平台上安卓系统DPI自调整方法及装置,其核心思想是:分别获取Linux系统及Android系统所显示的相同字符的大小,按照设定步长迭代设置Android系统的DPI,并测量当前DPI设定上述字符在Android 系统中的显示大小,直到其与Linux系统中所显示的大小差值小于阈值时,完成安卓系统DPI的自调整过程。
本发明提供的一种Linux平台上安卓系统DPI自调整方法,流程如图1所示,包括以下步骤:
步骤1、在Linux系统中,任意选择一个字符X,获取字符X的高hX和宽 wX。本发明中,字体的大小均以像素为单位。
其中,字符X可以是汉字或英文字符,可以采用应用程序开发框架(Qt) 提供的相关API获取字符X的高和宽。
步骤2、在Linux系统内Android兼容环境中运行Android系统,在Android 系统中显示同一字符X,使用X表示当前显示的字符X,获取字符X的高hX’和宽wX’
步骤3、对比步骤1得到的高hX和宽wX与步骤2得到的高hX’和宽wX’,若高hX’和宽wX’均大于高hX和宽wX且差值大于阈值,则按照设定的步长,将 Android系统当前的DPI减去步长后的值设置为新的DPI,重启Android兼容环境,执行步骤2;若高hX’和宽wX’均小于高hX和宽wX且差值大于阈值,则按照设定的步长,将Android系统当前的DPI加上步长后的值设置为新的DPI,重启 Android兼容环境,执行步骤2;若高hX’和宽wX’与高hX和宽wX之间的差值均不大于阈值,则结束本流程。
具体来说,本发明中,步骤3中设定的步长单位为像素,一般可以设置为5 像素。在Android系统中可以增加测量字符大小的程序,该程序在设定颜色的背景下显示待测字符,待测字符显示为不同颜色,然后截取字符显示时的Android 屏幕,使用图像分析技术对截取的Android屏幕进行分析,从而提取字符的宽和高。
基于本发明提供的一种Linux平台上安卓系统DPI设置方法,本发明提供了一种Linux平台上安卓系统DPI设置装置,结构如图2所示,具体包括:Linux 系统字符测量单元、Android系统字符显示单元、Android系统字符测量单元及 Android系统DPI调整单元。
其中,Linux系统字符测量单元,运行于Linux系统内,用于测量Linux系统中显示的待测字符的大小。
Android系统字符显示单元,运行于Linux系统内Android兼容环境的 Android系统中,用于在Android系统启动时显示待测字符。
Android系统字符测量单元,用于测量Android系统显示的待测字符的大小。
Android系统DPI调整单元,用于根据Linux系统字符测量单元和Android 系统字符测量单元输出的字符大小之间的关系,调整Android系统DPI的设置,并重启Android系统。具体为,当根据Linux系统内的字符大于Android系统内的字符且差值大于阈值时,在当前Android系统DPI的基础是增加设定步长后得到DPI的设定值,采用该设定值设定Android系统的DPI,重启Android兼容环境;当根据Linux系统内的字符小于Android系统内的字符且差值大于阈值时,在当前Android系统DPI的基础是减少设定步长后得到DPI的设定值,采用该设定值设定Android系统的DPI,重启Android兼容环境;当根据Linux系统内的字符与Android系统内的字符间的差值小于阈值时,结束调整。
Android系统字符测量单元及Android系统DPI调整单元,既可以直接运行在Linux系统内,也可以运行在Android兼容环境的Android系统中,如图3所示。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

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的高hX和宽wX
步骤2、在所述Android系统中显示所述字符X为字符X’,获取所述字符X’的高hX’和宽wX’
步骤3、对比高hX和宽wX与高hX’和宽wX’,若高hX’和宽wX’均大于高hX和宽wX且差值大于阈值,则按照设定的步长将所述Android系统当前的DPI减去步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高hX’和宽wX’均小于高hX和宽wX且差值大于阈值,则按照设定的步长将所述Android系统当前的DPI加上步长后的值设置为新的DPI,重启所述Android兼容环境,执行步骤2;若高hX’和宽wX’与高hX和宽wX之间的差值均不大于阈值,则结束本流程。
5.根据权利要求1~4任意一项所述的方法,其特征在于,所述待测字符的尺寸以像素为单位。
6.一种Linux平台上安卓系统DPI自调整装置,其特征在于,包括:Linux系统字符测量单元、Android系统字符显示单元、Android系统字符测量单元及Android系统DPI调整单元;
所述Linux系统字符测量单元,运行于Linux系统内,用于测量Linux系统中显示的待测字符的尺寸;
所述Android系统字符显示单元,运行于Linux系统内Android兼容环境的Android系统中,用于在Android系统启动时显示所述待测字符;
所述Android系统字符测量单元,用于测量所述Android系统显示的所述待测字符的尺寸;
所述Android系统DPI调整单元,用于根据所述Linux系统字符测量单元和所述Android系统字符测量单元输出的字符尺寸之间的关系,调整所述Android系统DPI的设置并重启所述Android系统。
7.根据权利要求6所述的装置,其特征在于,所述Android系统DPI调整单元调整所述Android系统DPI的设置并重启所述Android系统的方式为:
当所述Linux系统字符测量单元输出的尺寸大于所述Android系统字符测量单元输出的尺寸且差值大于阈值时,在所述Android系统当前DPI的基础是增加设定步长后得到DPI的设定值,采用设定值设定所述Android系统的DPI,重启所述Android兼容环境;
当所述Linux系统字符测量单元输出的尺寸小于所述Android系统字符测量单元输出的尺寸且差值大于阈值时,在所述Android系统当前DPI的基础是减少设定步长后得到DPI的设定值,采用设定值设定所述Android系统的DPI,重启所述Android兼容环境;
当所述Linux系统字符测量单元输出的尺寸与所述Android系统字符测量单元输出的尺寸之间的差值小于阈值时,结束调整。
8.根据权利要求6所述的装置,其特征在于,所述Android系统字符显示单元运行在所述Linux系统中或运行在所述Android系统中。
9.根据权利要求6所述的装置,其特征在于,所述Android系统DPI调整单元运行在所述Linux系统中或运行在所述Android系统中。
CN202011367574.4A 2020-12-02 2020-12-02 一种Linux平台上安卓系统DPI自调整方法及装置 Active CN112433695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011367574.4A CN112433695B (zh) 2020-12-02 2020-12-02 一种Linux平台上安卓系统DPI自调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011367574.4A CN112433695B (zh) 2020-12-02 2020-12-02 一种Linux平台上安卓系统DPI自调整方法及装置

Publications (2)

Publication Number Publication Date
CN112433695A true CN112433695A (zh) 2021-03-02
CN112433695B CN112433695B (zh) 2021-11-23

Family

ID=74698490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011367574.4A Active CN112433695B (zh) 2020-12-02 2020-12-02 一种Linux平台上安卓系统DPI自调整方法及装置

Country Status (1)

Country Link
CN (1) CN112433695B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201134A (zh) * 2022-02-17 2022-03-18 北京麟卓信息科技有限公司 安卓兼容环境中多窗口模式下Toast的优化显示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794566A (zh) * 2010-01-08 2010-08-04 青岛海信移动通信技术股份有限公司 移动终端中确定待显示字符的字模数据的方法及相关装置
CN101873451A (zh) * 2010-05-19 2010-10-27 杭州海康威视数字技术股份有限公司 一种实现在屏显示字符显示的方法及装置
CN102074221A (zh) * 2011-01-06 2011-05-25 深圳芯邦科技股份有限公司 一种字符显示方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794566A (zh) * 2010-01-08 2010-08-04 青岛海信移动通信技术股份有限公司 移动终端中确定待显示字符的字模数据的方法及相关装置
CN101873451A (zh) * 2010-05-19 2010-10-27 杭州海康威视数字技术股份有限公司 一种实现在屏显示字符显示的方法及装置
CN102074221A (zh) * 2011-01-06 2011-05-25 深圳芯邦科技股份有限公司 一种字符显示方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201134A (zh) * 2022-02-17 2022-03-18 北京麟卓信息科技有限公司 安卓兼容环境中多窗口模式下Toast的优化显示方法
CN114201134B (zh) * 2022-02-17 2022-04-29 北京麟卓信息科技有限公司 安卓兼容环境中多窗口模式下Toast的优化显示方法

Also Published As

Publication number Publication date
CN112433695B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
US20210168441A1 (en) Video-Processing Method, Electronic Device, and Computer-Readable Storage Medium
WO2015131787A1 (zh) 一种屏幕适配的方法和装置
CN108965471B (zh) 一种智能电视上浏览器内存改善方法
CN103034729B (zh) 网页绘制系统和方法
US20180233106A1 (en) Page display method and terminal
CN112433695B (zh) 一种Linux平台上安卓系统DPI自调整方法及装置
CN109101233B (zh) 适配多种屏幕分辨率的方法、存储设备及安卓设备
CN102279692B (zh) 拖拽对象时实现预览的方法、客户端
WO2018120992A1 (zh) 一种窗口渲染方法及终端
CN113655975B (zh) 图像显示方法、装置、电子设备和介质
CN112363632A (zh) 一种Linux平台下Android应用的输入方法和装置
WO2017000898A1 (zh) 软件图标显示方法和装置
CN111221596A (zh) 字体渲染方法、装置及计算机可读存储介质
EP3471018A1 (en) Method and apparatus for evaluating illumination condition in face image
CN113791857B (zh) Linux系统中应用窗口背景模糊处理方法及装置
CN114116514A (zh) 一种用户界面测试验收方法
KR102623148B1 (ko) 전자 장치 및 전자 장치의 제어 방법
CN111460342B (zh) 页面的渲染展示方法、装置、电子设备及计算机存储介质
KR100938992B1 (ko) 애니메이션 폰트파일 구조 및 휴대용 단말기의 텍스트 출력방법
CN111459558A (zh) 一种视频接口自适应配置方法、装置、设备及存储介质
US7388591B2 (en) Size-based font smoothing
US8107758B2 (en) Block based image processing
US9483443B2 (en) Tiled display list
CN106780306B (zh) 一种重构稿生成方法及装置
Wen et al. PaperWork: Exploring the Potential of Electronic Paper on Office Work

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant