CN112433695A - 一种Linux平台上安卓系统DPI自调整方法及装置 - Google Patents
一种Linux平台上安卓系统DPI自调整方法及装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font 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或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系统中。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201134A (zh) * | 2022-02-17 | 2022-03-18 | 北京麟卓信息科技有限公司 | 安卓兼容环境中多窗口模式下Toast的优化显示方法 |
Citations (3)
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 | 深圳芯邦科技股份有限公司 | 一种字符显示方法及装置 |
-
2020
- 2020-12-02 CN CN202011367574.4A patent/CN112433695B/zh active Active
Patent Citations (3)
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)
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 |