CN115756269A - 翻译方法及电子设备 - Google Patents

翻译方法及电子设备 Download PDF

Info

Publication number
CN115756269A
CN115756269A CN202210023045.5A CN202210023045A CN115756269A CN 115756269 A CN115756269 A CN 115756269A CN 202210023045 A CN202210023045 A CN 202210023045A CN 115756269 A CN115756269 A CN 115756269A
Authority
CN
China
Prior art keywords
state
window
translation
user
text
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.)
Pending
Application number
CN202210023045.5A
Other languages
English (en)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to US18/004,797 priority Critical patent/US20240127007A1/en
Priority to PCT/CN2022/113390 priority patent/WO2023030030A1/zh
Priority to EP22839626.3A priority patent/EP4170476A4/en
Publication of CN115756269A publication Critical patent/CN115756269A/zh
Pending legal-status Critical Current

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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Abstract

本申请实施例提供了一种翻译方法及电子设备,在需要查阅外文文献的场景,用户选中需要翻译的单词,显示具有复制及翻译选项的选项栏,根据用户的不同操作,在当前应用程序的当前页面显示悬浮窗,并在悬浮窗内呈现该单词的翻译结果。另外,该悬浮窗不与当前应用的页面窗口抢占焦点,因而用户在查询完一个单词后,可以继续浏览原文,而无需将悬浮窗关闭。在当前应用继续浏览页面的过程中,当用户有新的单词需要查询时,选中该单词,根据用户的不同操作,便可以在当前应用程序的当前页面显示悬浮窗,并在悬浮窗内显示该单词的翻译结果。尤其适用于用户需要连续翻译的场景,在用户使用应用程序的过程中,不影响用户浏览原文的体验。

Description

翻译方法及电子设备
技术领域
本申请涉及计算机技术领域,具体地涉及一种翻译方法及电子设备。
背景技术
翻译,尤其是机器翻译,对于经常需要查阅外文文献的用户有很大的需求。移动终端内置 的翻译应用或者安装的第三方翻译应用可以满足这些用户群体随时随地翻译的需求,将需要查 询的单词或这语句实时翻译成目标语言,从而为用户带来极大的便利。然而,当前市场上的翻 译应用,大多需要用户在获取待翻译文本后,在当前应用与翻译应用之间来回切换以获取翻译 结果,操作步骤繁琐,导致翻译效率低下,影响用户体验。
发明内容
本申请提出了一种翻译方法及电子设备。在该方法中,用户在使用应用程序阅读外文文献 时,通过选中需要翻译的单词,便可以在当前应用程序的当前页面显示悬浮窗,并在悬浮窗内 呈现用户选中单词的翻译结果。另外,该悬浮窗不与当前应用的页面窗口抢占焦点,因而用户 在查询完一个单词后,可以继续浏览原文,而无需将悬浮窗关闭。在当前应用继续浏览页面的 过程中,当用户有新的单词需要查询时,还可以通过选中需要翻译的单词,便可以在当前应用 程序的当前页面显示悬浮窗,并在悬浮窗内显示新选中单词的翻译结果。尤其适用于用户需要 连续翻译的场景,在用户使用应用程序的过程中,不影响用户浏览原文的体验。
第一方面,提供一种翻译方法,包括电子设备及应用程序,显示所述应用程序的第一界面, 所述第一界面包括第一文本及第一悬浮球控件;响应于用户对所述第一文本的第一操作,显示 第一控件,所述第一控件包括复制选项及翻译选项;响应于用户对所述复制选项的复制操作, 所述第一文本被写入所述电子设备的剪切板,在所述复制操作后,响应于用户对所述第一悬浮 球控件的悬浮球操作,在所述第一界面显示悬浮窗,其中,所述悬浮窗包括所述第一文本及所 述第一文本对应的第一译文,所述悬浮窗显示第一状态;响应于用户对所述第一文本的第二操 作,显示所述第一控件;响应于用户对所述翻译选项的翻译操作,在所述第一界面显示所述悬 浮窗,所述悬浮窗显示第二状态,所述第二状态与所述第一状态相同或不同。
示例性的,应用程序的第一界面包括具有文本的页面,例如阅读应用中的阅读页面,其具 有可以阅读的文字,又例如浏览器中的网页,其具有可供浏览的文字内容,又例如聊天应用类 的聊天界面,其具有用户输入的文字文本,又例如备忘录类的笔记页面,其具有用户保存的用 户输入的笔记内容。
这样,用户在使用应用程序阅读外文文献时,通过选中需要翻译的单词,便可以在当前应 用程序的当前页面显示悬浮窗,并在悬浮窗内呈现用户选中单词的翻译结果,从而用户无需退 出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻译的 实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
在一种可能的实现方式中,所述复制选项还可以被替换成剪切选项。
在一种可能的实现方式中,所述第一文本不包括网址、邮箱或利用机器生成的口令,所述 第一文本与所述电子设备的系统语言不同。
示例性的,机器生成的口令包括例如淘口令或抖音口令等口令,其一般用于对应于特定的 商品或者视频页面,因而判断此时用户对这类文本没有翻译的需求。这样,可以尽可能减小对 用户的打扰,提高用户体验。
在一种可能的实现方式中,所述应用程序不包括消费类、娱乐类或视频类应用。
示例性的,消费类应用包括淘宝或京东等应用,娱乐类应用包括抖音或游戏等应用,视频 类应用包括腾讯视频或爱奇艺等应用。用户在使用上述应用的过程中,判断用户是在娱乐状态, 因而判断此时用户对这类文本没有翻译的需求。这样,可以尽可能减小对用户的打扰,提高用 户体验。
在一种可能的实现方式中,所述第一操作包括对所述第一文本的选中操作、触摸操作、点 击操作、滑动操作、长按操作或双击操作中的任意一种,所述第二操作包括对所述第一文本的 选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种。
示例性的,上述第一操作及第二操作的目的是为了选中文字,因而对如何选中用户需要翻 译的文字有多种方式,本申请的实施方式中对此不做限定。
在一种可能的实现方式中,还包括在所述第一界面显示悬浮窗后,所述第一界面不显示所 述第一悬浮球控件和/或所述第一控件。
示例性的,当悬浮窗被显示后,隐藏显示上述第一悬浮球控件及第一控件。这样,可以最 大程序的减少在当前应用当前页面的功能重复的图标数量,减少对用户的打扰,同时,又能展 示用户翻译操作所必须的悬浮窗,提高用户体验。
在一种可能的实现方式中,所述悬浮窗的所述第一状态包括底部态、半屏态或全屏态中的 任意一种,所述悬浮窗的所述第二状态包括底部态、半屏态或全屏态中的任意一种。
示例性的,悬浮窗包括3种形态,不同状态根据占据的屏幕的高度,从低到高依次分为底 部态、半屏态及全屏态。其根据用户的选择,显示不同状态的悬浮窗形态。相应的,由于悬浮 窗展示的面积的不同,全屏态显示的翻译结果内容会比半屏态及底部态更多,同样的,半屏态 显示的翻译结果内容会比底部态更多。这样,通过展示不同形态的悬浮窗,丰富用户对于悬浮 窗的体验,提高了用户体验。
示例性的,当用户查询新的单词时,悬浮窗的状态,例如第一状态及第二状态,可以是半 屏态,从而,该状态下,用户既可以在悬浮窗内获取所查询的单词的翻译结果,也可以方便的 操作当前页面的第一界面,用户的选择性更大,用户体验更好。
在一种可能的实现方式中,在显示所述悬浮窗后,所述第一界面还包括第一区域,所述第 一区域为所述第一界面中除所述悬浮窗之外的区域。
示例性的,当悬浮窗显示的时候,应用程序的当前页面包括悬浮窗及当前页面中被悬浮窗 占据的区域之外的剩余区域,其中,第一区域可以是当前页面中被悬浮窗占据的区域之外的剩 余区域。这样,通过设置第一区域,满足用户在使用悬浮窗的过程中随时可以方便的浏览或滑 动当前应用程序第一界面内容的需求。
在一种可能的实现方式中,响应于用户对所述第一区域的第三操作,所述悬浮窗显示第三 状态,所述第三状态包括底部态、半屏态或全屏态中的任意一种,所述第三状态与所述第一状 态相同或不同,所述第三状态与所述第二状态相同或不同。
示例性的,可以理解的是,第一区域的大小是可变的,其区域大小变化根据悬浮窗所处的 形态的不同而不同。可以理解的是,当悬浮窗为底部态时,其第一区域的面积比悬浮窗为中间 态时的第一区域的面积更大。可以理解的是,当悬浮窗为中间态时,其第一区域的面积比悬浮 窗为全屏态时的第一区域的面积更大。这样,通过设置第一区域及其相对于悬浮窗不同形态的 适应性调整的区域大小,满足用户在使用悬浮窗的过程中随时可以方便的浏览或滑动当前应用 程序第一界面内容的需求。
示例性的,在第一区域被执行第三操作后,悬浮窗的第三状态可以是底部态,从而可以直 观的给用户反馈当前焦点转换到了用户操作的当前应用的第一界面,而不是悬浮窗。这样,可 以有效的提升用户使用悬浮窗的体验。
在一种可能的实现方式中,所述第三操作包括对所述第一区域的触摸操作、点击操作、滑 动操作或长按操作中的任意一种。
在一种可能的实现方式中,所述第一界面还包括第二文本,响应于用户对所述第二文本的 第四操作,显示所述第一控件,其中,所述第四操作包括对所述第二文本的选中操作、触摸 操作、点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第二文本与所述第一文 本相同或不同,所述第二文本不包括网址、邮箱或利用机器生成的口令,所述第二文本与所述 电子设备的系统语言不同。
示例性的,当用户查询一个单词的翻译结果后,用户还可以继续查询新的单词,即第二文 本,从而,用户无需退出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页 面便可以实现对翻译的实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果, 提高了翻译效率。
在一种可能的实现方式中,响应于用户对所述复制选项的复制操作,所述第二文本被写入 所述电子设备的剪切板,在所述第一界面显示悬浮窗,所述悬浮窗显示第四状态,所述悬浮窗 包括所述第二文本及所述第二文本对应的第二译文,所述悬浮窗不包括所述第一文本及所述第 一译文,所述第四状态与所述第三状态相同或不同。
示例性的,当用户查询一个单词的翻译结果后,用户还可以继续查询新的单词,即第二文 本。继而,系统将用户最新选中的单词放入剪切板中并向翻译服务器请求翻译结果,由于剪切 板会保留用户最近一次复制或剪切的文本,因而当第二文本被写入剪切板时,第一文本即被覆 盖了,当用户触发显示悬浮窗时,悬浮窗内显示第二文本及其对应的译文,此时,第一文本及 其对应的译文便不再显示。这样,用户无需退出当前应用并切换到第三方翻译应用以查询单词, 在当前应用的当前页面便可以实现对翻译的实时查询,省去了在当前应用与翻译应用之间来回 切换以获取翻译结果,提高了翻译效率。
示例性的,当用户还可以继续查询新的单词时,悬浮窗的状态可以根据用户的习惯设置为 与上一次显示的悬浮窗状态相同,也可以不同,其都会对提高用户对悬浮窗使用的体验。
示例性的,当用户继续查询新的单词时,悬浮窗的状态可以是半屏态,从而,该状态下, 用户既可以在悬浮窗内获取所查询的单词的翻译结果,也可以方便的操作当前页面的第一界面, 用户的选择性更大,用户体验更好。
在一种可能的实现方式中,响应于用户对所述翻译选项的翻译操作,在所述第一界面显示 所述悬浮窗,所述悬浮窗显示第五状态,所述悬浮窗包括所述第二文本及所述第二文本对应的 第二译文,所述悬浮窗不包括所述第一文本及所述第一译文,所述第五状态与所述第三状态相 同或不同。
示例性的,当用户查询一个单词的翻译结果后,用户还可以继续查询新的单词,即第二文 本。此时,由于用户触发的是翻译操作,而不是复制操作,因而用户的意图非常明确的显示了 用户需要翻译当前新选中的单词。继而,系统将用户最新选中的单词放入剪切板中并向翻译服 务器请求翻译结果,由于剪切板会保留用户最近一次复制或剪切的文本,因而当第二文本被写 入剪切板时,第一文本即被覆盖了,当用户触发显示悬浮窗时,悬浮窗内显示第二文本及其对 应的译文,此时,第一文本及其对应的译文便不再显示。这样,用户无需退出当前应用并切换 到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻译的实时查询,省去了 在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
示例性的,当用户还可以继续查询新的单词时,悬浮窗的状态可以根据用户的习惯设置为 与上一次显示的悬浮窗状态相同,也可以不同,其都会对提高用户对悬浮窗使用的体验。
示例性的,当用户继续查询新的单词时,悬浮窗的状态可以是半屏态,从而,该状态下, 用户既可以在悬浮窗内获取所查询的单词的翻译结果,也可以方便的操作当前页面的第一界面, 用户的选择性更大,用户体验更好。
在一种可能的实现方式中,所述悬浮窗是可滑动的,所述悬浮窗包括底部态、半屏态或 全屏态中的任意一种或多种,所述悬浮窗在所述底部态、所述半屏态或所述全屏态中的任意一 种或多种之间滑动。
示例性的,悬浮窗可以根据用户的不同操作,展示不同的形态。这样,满足了用户对于悬 浮窗展示形态的不同需求,同时用户根据不同场景,选择是否展示更多的翻译内容,丰富了用 户的体验。
在一种可能的实现方式中,响应于用户对所述悬浮窗在所述第一状态的第一滑动操作,判 断所述滑动操作满足滑动条件后,所述悬浮窗显示第六状态,所述第六状态与所述第一状态不 同,所述第六状态包括底部态、半屏态或全屏态中的任意一种;判断所述滑动操作不满足滑动 条件后,所述悬浮窗显示第七状态,所述第七状态与所述第一状态相同,所述第七状态包括底 部态、半屏态或全屏态中的任意一种。
示例性的,悬浮窗的滑动具有其判断条件,也就是说,例如在悬浮窗的半屏状态下,并不 是用户所有的将悬浮窗向上滑动的操作都会将悬浮窗展示为全屏态,即在满足滑动条件下,将 悬浮窗由半屏态展示为全屏态,在不满足条件的情况下,悬浮窗维持展示半屏态。这样,通过 设置滑动条件,防止用户误触造成的悬浮窗的随意移动,提高了用户体验。
示例性的,第一状态的悬浮窗为用户在对第一文本执行复制操作后显示的悬浮窗展示的状 态。
在一种可能的实现方式中,响应于用户对所述悬浮窗在所述第二状态的第二滑动操作,判 断所述滑动操作满足滑动条件后,所述悬浮窗显示第八状态,所述第八状态与所述第二状态不 同;判断所述滑动操作不满足滑动条件后,所述悬浮窗显示第九状态,所述第九状态与所述第 二状态相同,所述第八状态包括底部态、半屏态或全屏态中的任意一种,所述第九状态包括底 部态、半屏态或全屏态中的任意一种。
示例性的,悬浮窗的滑动具有其判断条件,也就是说,例如在悬浮窗的半屏状态下,并不 是用户所有的将悬浮窗向上滑动的操作都会将悬浮窗展示为全屏态,即在满足滑动条件下,将 悬浮窗由半屏态展示为全屏态,在不满足条件的情况下,悬浮窗维持展示半屏态。这样,通过 设置滑动条件,防止用户误触造成的悬浮窗的随意移动,提高了用户体验。
示例性的,第二状态的悬浮窗为用户在对第一文本执行翻译操作后显示的悬浮窗展示的状 态。
在一种可能的实现方式中,所述滑动条件包括满足滑动距离、滑动速度、滑动方向中的任 意一者或多者。这样,通过设置滑动条件,防止用户误触造成的悬浮窗的随意移动,提高了用 户体验。
在一种可能的实现方式中,判断所述滑动距离满足条件包括判断所述滑动距离大于所述电 子设备屏幕高度四分之一。
示例性的,例如在悬浮窗的半屏状态下,在滑动速度满足条件的情况下,用户将悬浮窗向 上滑动的操作,其滑动距离大于所述电子设备屏幕高度四分之一,悬浮窗展示为全屏态。这样, 通过设置滑动条件,防止用户误触造成的悬浮窗的随意移动,提高了用户体验。
在一种可能的实现方式中,若所述滑动距离大于所述电子设备屏幕高度四分之一且小于屏 幕高度四分之三时,所述悬浮窗在所述底部态及所述半屏态或所述半屏态及所述全屏态之间切 换;若所述滑动距离大于所述电子设备屏幕高度四分之三时,所述悬浮窗在所述底部态及所述 全屏态之间切换。
示例性的,例如在悬浮窗的底部状态下,在滑动速度满足条件的情况下,用户将悬浮窗向 上滑动的操作,其滑动距离大于所述电子设备屏幕高度四分之三时,悬浮窗展示为全屏态。这 样,通过设置滑动条件,防止用户误触造成的悬浮窗的随意移动,提高了用户体验。
在一种可能的实现方式中,还包括,所述悬浮球在所述半屏态滑动至所述全屏态前,预加 载所述第一译文对应的第一详细译文,所述第一详细译文包括所述第一译文显示在所述全屏态 的悬浮窗内且未显示在所述半屏态的所述悬浮窗内的内容。
示例性的,例如在悬浮窗的半屏状态下,由于半屏态悬浮窗的面积限制,无法展示更多的 翻译结果内容。因而,在当前状态下,判断用户可能需要扩展到全屏态以展示更多的翻译结果 内容,系统会提前加载该部分未显示在半屏态悬浮窗而会显示在全屏态悬浮窗的翻译结果内容。 这样,用户在由半屏态悬浮窗展开成全屏态悬浮窗时,由于该部分翻译结果内容已经被提前加 载,因而可以在滑动过程中可以展示比没有预加载翻译内容更加细腻的滑动效果,也不会锯齿 等影响用户体验的效果,大大提升了用户使用悬浮窗的体验。
在一种可能的实现方式中,所述悬浮窗还包括第一内部窗口,所述第一内部窗口包括所述 第一译文和/或所述第一详细译文。
示例性的,悬浮窗包括第一内部窗口,其用于展示翻译结果。
在一种可能的实现方式中,还包括,所述第一内部窗口是可滑动的,用于显示所述第一译 文对应的内容。
示例性的,悬浮窗包括第一内部窗口,区别与悬浮窗本身在3种状态下的滑动逻辑,由于 安卓底层的显示,悬浮窗内部的第一内部窗口也需要单独设计滑动逻辑,因而,用户在使用悬 浮窗时,可以通过滑动悬浮窗内的第一内部窗口,显示更多的翻译结果内容,提升用户体验。
示例性的,由于应用程序中每个应用的界面由一个个activity组成且任何activity都隶 属于应用进程,因而在系统窗口设置的悬浮球及悬浮窗不具备activity的功能。为了获得悬 浮球及悬浮窗可以获得类似于应用窗口内的activity的效果,即显示内容及基于用户在悬浮 球及悬浮窗滑动的操作,需要额外在系统窗口内部设置滑动操作、滑动冲突等,以及根据用户 的点击等操作,判断响应窗口的焦点等。
在一种可能的实现方式中,当所述悬浮窗处于全屏态时,响应于用户对数第一内部窗口的 第二滑动操作,所述第一内部窗口显示第二详细译文,所述第二详细译文包括部分所述第一详 细译文。
示例性的,悬浮窗包括第一内部窗口,区别与悬浮窗本身在3种状态下的滑动逻辑,由于 安卓底层的显示,悬浮窗内部的第一内部窗口也需要单独设计滑动逻辑,因而,用户在使用悬 浮窗时,可以通过滑动悬浮窗内的第一内部窗口,显示更多的翻译结果内容,提升用户体验。
示例性的,第二详细译文与第一详细译文都是对应于第一译文的翻译结果内容,第一文本 的完整的翻译结果包括第一译文,第一详细译文及第二详细译文。例如,第一译文为简单的第 一文本对应的单词的中文翻译结果,第一详细译文为第一文本对应的部分例句,在悬浮窗处于 全屏态时,完整展示第一译文及第一详细译文,由于单词可能有更多的例句,当用户在第一内 部窗口滑动时,第二详细译文用于展示前述第一译文及第一详细译文没有展示的翻译结果内容, 例如更多的词典例句等。
在一种可能的实现方式中,在显示包括所述第一悬浮球控件的所述应用程序的所述第一界 面前,还包括:所述第一界面还包括第三文本,响应于用户对所述第三文本的第五操作,所述 第一界面显示第二控件,其中,所述第五操作包括对所述第三文本的选中操作、触摸操作、点 击操作、滑动操作、长按操作或双击操作中的任意一种,所述第三文本与所述第一文本相同或 不同,所述第三文本不包括网址、邮箱或利用机器生成的口令,所述第三文本与所述电子设备 的系统语言不同。
在一种可能的实现方式中,所述第二控件中的选项包括复制选项或剪切选项。
在一种可能的实现方式中,响应于用户对所述第二控件的第六操作,所述第一界面显示第 二悬浮球控件,所述第六操作包括对所述第二控件的所述复制选项的复制操作或对所述剪切选 项的剪切操作中的任意一种。
示例性的,第二悬浮球控件被设定为用于向用户提供一个显示翻译结果的入口。当用户点 击或触摸第二悬浮球控件后,显示具有翻译结果的悬浮窗。可选的,在显示悬浮窗后,第二悬 浮球控件消失或者继续保持显示,本申请在此不做限定。
示例性的,第一悬浮球控件被设定为在预设时间内用户未对第二悬浮球控件触发任何点击 或者触摸操作后,显示第一悬浮球控件。此时,判断用户不需要执行翻译操作。因而,在用户 触发复制操作时,用户的复制行为将被判定为正常的复制文本行为,继续显示第一悬浮球控件。
示例性的,用户在使用应用程序阅读外文文献时,通过选中需要翻译的单词,选择复制或 剪切操作后,系统判断用户此时有翻译的意图,因而在当前应用程序的当前页面显示悬浮球, 若此时用户有继续显示翻译结果的需求,可以继续点击上述第二悬浮球控件以在悬浮窗显示翻 译结果。这样,通过判断用户的意图,识别用户翻译的意图,从而显示用于提示展示翻译结果 的第二悬浮球控件,并根据用户的操作,选择是否展示悬浮窗以显示翻译结果。这样,用户无 需退出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻 译的实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
在一种可能的实现方式中,还包括,响应于用户对所述第二悬浮球控件的第七操作,显示 所述悬浮窗,所述悬浮窗包括所述第三文本及所述第三文本对应的第三译文,所述第七操作包 括触摸操作、点击操作或长按操作中的任意一种。
示例性的,用户在使用应用程序阅读外文文献时,通过选中需要翻译的单词,选择复制或 剪切操作后,系统判断用户此时有翻译的意图,因而在当前应用程序的当前页面显示悬浮球, 若此时用户有继续显示翻译结果的需求,可以继续点击上述第二悬浮球控件以在悬浮窗显示翻 译结果。这样,通过判断用户的意图,识别用户翻译的意图,从而显示用于提示展示翻译结果 的第二悬浮球控件,并根据用户的操作,选择是否展示悬浮窗以显示翻译结果。这样,用户无 需退出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻 译的实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
在一种可能的实现方式中,还包括,在显示所述第二悬浮球控件前,显示悬浮球标识, 且在第一预设时间后,所述悬浮球标识消失,显示所述第二悬浮球控件。
示例性的,例如悬浮球标识用于显示系统正在识别或判断用户的意图,当判断用户的意图 是翻译选中的文本时,显示第二悬浮球控件。又例如悬浮球标识用于展示电子设备向翻译服务 器请求翻译结果的等待标识。
示例性的,第一预设时间以秒为单位的较短时间,具体多少时间,本申请在此不做限定。
在一种可能的实现方式中,所述悬浮球标识用于判断所述第六操作满足翻译条件,所述翻 译条件包括所述第三文本的语言类型、所述第三文本的内容或所述应用程序的类型中的任意一 者或多者。
示例性的,判断是否满足翻译条件,包括:判断复制的文本中是否包含手机当前的非系统 语言;判断复制的文本中包含的非系统语言是否为手机系统支持的预设语言;判断复制的文本 是否符合一定的文本类型;判断复制的文本的来源应用是否满足一定的应用类型。这样,通过 设置翻译条件,减少了不必要的翻译悬浮球或者悬浮窗的弹出或提醒,从而减少对用户的打扰, 提高用户体验。
在一种可能的实现方式中,所述第二悬浮球控件与所述第一悬浮球控件在所述应用程序的 所述第一界面显示在所述电子设备的所述第一界面的相同的一侧,二者所述相同一侧显示的位 置相同或不同。
示例性的,第一悬浮球控件及第二悬浮球控件是可滑动的,其可以用户的操作,显示在电 子设备的第一界面的不同区域。二者设置在电子设备相同的一侧,例如电子设备的第一界面的 右侧,其位置关系可以包括上下关系,例如第一悬浮球控件显示在第一界面的右侧上部,第二 悬浮球控件显示在第一界面的右侧下部。又例如第一悬浮球控件及第二悬浮球控件显示在相同 的位置。这样,符合用户常用的用户习惯,提高用户体验。
在一种可能的实现方式中,还包括,判断在第二预设时间内未检测到用户对所述第二悬 浮球控件的触摸操作、点击操作、滑动操作或长按操作中的任意一种,取消显示所述第二悬浮 球控件,显示所述第一悬浮球控件。
示例性的,第二预设时间以秒为单位的较短时间,具体多少时间,本申请在此不做限定。
示例性的,在第二预设时间后,判断用户暂时没有翻译的意图,因而将悬浮球由第二悬浮 球控件变成第一悬浮球控件的状态显示,并显示于第一界面的一侧,当用户再一次有翻译意图 时,对第一悬浮球控件进行操作,便可以再次执行翻译操作,方便快捷,提高了用户体验。
在一种可能的实现方式中,响应于用户对所述第一悬浮球控件的第八操作,在所述第一界 面显示悬浮窗,其中,所述悬浮窗包括所述第三文本及所述第三文本对应的第三译文,所述第 八操作包括触摸操作、点击操作或长按操作中的任意一种。
示例性的,在第二预设时间后,判断用户暂时没有翻译的意图,因而将悬浮球由第二悬浮 球控件变成第一悬浮球控件的状态显示,并显示于第一界面的一侧,当用户再一次有翻译意图 时,对第一悬浮球控件进行操作,便可以再次执行翻译操作,方便快捷,提高了用户体验。
在一种可能的实现方式中,所述第一界面还包括第四文本,若所述第一界面显示所述第一 悬浮球控件,响应于用户对所述第四文本的第九操作,所述第一界面显示所述第二控件,响应 于用户对所述第二控件的第十操作,所述第一界面继续显示所述第一悬浮球控件,其中,所述 第九操作包括对所述第四文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击 操作中的任意一种,所述第十操作包括对所述第二控件的所述复制选项的复制操作或对所述剪 切选项的剪切操作中的任意一种,所述第四文本与所述第三文本相同或不同,所述第四文本不 包括网址、邮箱或利用机器生成的口令,所述第四文本与所述电子设备的系统语言不同。
示例性的,在显示第一悬浮球控件的状态下,由于系统判断用户暂时没有翻译的意图,因 而,当用户复制第四文本的时候,系统不会触发翻译操作而显示悬浮窗,电子设备继续第一悬 浮球控件,即用户对第四文本的复制操作被系统判断为普通的复制文本操作。这样,通过展示 悬浮球控件状态的不同,用户可以理解何时需要翻译,何时展示普通的复制文本的操作,而当 用户有翻译需求时,又可以立即对第一悬浮球控件进行操作,从而显示悬浮窗,展示翻译结果 内容。减少了对用户的干扰,又方便用户迅速获取翻译结果内容,提高了用户体验。
在一种可能的实现方式中,响应于用户对所述第一悬浮球控件的第十一操作,在所述第一 界面显示悬浮窗,其中,所述悬浮窗包括所述第四文本及所述第四文本对应的第四译文,所述 第十一操作包括对所述第一悬浮球控件的触摸操作、点击操作或长按操作中的任意一种。
示例性的,当用户有翻译需求时,可以立即对第一悬浮球控件进行操作,从而显示悬浮窗, 展示翻译结果内容。减少了对用户的干扰,又方便用户迅速获取翻译结果内容,提高了用户体 验。
在一种可能的实现方式中,所述悬浮窗为系统窗口,所述系统窗口与所述应用程序的应用 窗口不同。
示例性的,由于本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,无法设置于应用 窗口中,其不属于任何一个应用,其由系统来创建,只属于系统本身。
在一种可能的实现方式中,所述悬浮窗为非模态对话框,当所述第一界面显示所述悬浮窗 时,所述第一界面或所述悬浮窗中的任意一者是可滑动的。
示例性的,非模态对话框,其优点在于不抢占窗口的焦点,用户在使用本申请实施方式的 悬浮窗时,通过触摸或点击悬浮窗外区域即可将悬浮窗返回底部态,从而继续浏览当前应用的 内容,提高用户的体验。
在一种可能的实现方式中,所述悬浮窗的窗口属性被设置为包括FLAG_NOT_TOUCH_MODAL, 所述悬浮窗不与所述应用程序的所述第一界面抢占窗口焦点,包括:当所述第一界面显示所述 悬浮窗时,若所述第一界面被滑动,所述悬浮窗不消失,响应于所述悬浮窗被滑动,所述第一 界面不消失;若所述悬浮窗被滑动,所述第一界面不消失,响应于所述第一界面被滑动,所述 悬浮窗不消失。
示例性的,悬浮窗的窗口属性被设置为FLAG_NOT_TOUCH_MODAL,因而在此模式下,系统 会将当前窗口区域以外的触摸/点击事件传递给底层的窗口,当前窗口区域以内的单击事件则 当前窗口处理。当手机检测到在悬浮窗外区域的触摸或点击事件时,将窗口传递给当前的阅读 应用,进而用户可以继续浏览当前阅读应用的页面。当手机检测到在悬浮窗区域的触摸或点击 事件时,则继续由悬浮窗处理用户的触摸或点击事件。
在一种可能的实现方式中,当所述悬浮窗被关闭时,所述第一界面显示所述第一悬浮球控 件。
示例性的,悬浮窗的关闭,例如点击或触摸悬浮窗上的“X”图标,用以关闭悬浮窗。此 时,悬浮窗关闭,其仍以第一悬浮球控件的形式展示在电子设备第一界面的一侧。这样,用户 再一次有翻译需求时,可以立即对第一悬浮球控件进行操作,从而显示悬浮窗,展示翻译结果 内容。减少了对用户的干扰,又方便用户迅速获取翻译结果内容,提高了用户体验。
第二方面,本申请实施例提供一种电子设备,电子设备包括用于存储计算机程序指令的存 储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子 设备执行第一方面任一项的方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实 现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一 方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计 算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项的方法。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实 现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一 方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当 其在计算机上运行时,使得计算机执行第一方面任一项的方法。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实 现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一 方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的 存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单 地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人 员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的电子设备示意图;
图2A为本申请实施例提供的电子设备的软件结构框图;
图2B为本申请实施例提供的电子设备的窗口管理器的软件结构框图;
图3为本申请实施例提供的一种翻译界面触发示意图;
图4A为本申请实施例提供的一种翻译界面悬浮球示意图;
图4B为本申请实施例提供的一种翻译界面悬浮球示意图;
图5A为本申请实施例提供的一种悬浮窗状态变化示意图;
图5B为本申请实施例提供的一种悬浮窗状态变化示意图;
图6为本申请实施例提供的一种悬浮窗状态变化示意图;
图7为本申请实施例提供的一种悬浮窗状态变化示意图;
图8为本申请实施例提供的一种悬浮窗状态变化示意图;
图9为本申请实施例提供的一种悬浮窗状态变化示意图;
图10A为本申请实施例提供的一种连续复制场景下悬浮窗状态变化示意图;
图10B为本申请实施例提供的一种连续复制场景下悬浮窗状态变化示意图;
图11为本申请实施例提供的一种非模态悬浮窗状态变化示意图;
图12为本申请实施例提供的一种悬浮窗内容预加载变化示意图;
图13为本申请实施例提供的一种悬浮窗内部滑动示意图;
图14为本申请实施例提供的一种翻转状态下悬浮窗状态变化示意图;
图15为本申请实施例提供的一种翻转状态下非模态悬浮窗状态变化示意图;
图16为本申请实施例提供的一种逻辑实现流程图;
图17为本申请实施例提供的一种逻辑实现时序图;
图18为本申请实施例提供的另一种翻译界面触发示意图;
图19为本申请实施例提供的另一种翻译界面触发示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申 请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例, 都属于本申请保护的范围。在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的, 而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、 “所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。应当理解,本文中 使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如, 甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文 中字符“/”,一般表示前后关联对象是一种“或”的关系。还应当理解,当在本申请说明书和 所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组 件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的 存在或添加。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第 三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
用户在阅读外文文献时,例如利用阅读应用浏览英文文献时,遇到查阅外文文献中生词的 需求,用户通常会诉诸电子设备(以下以“手机”为例)中已经安装的翻译应用。
如果当前应用本身支持在应用内的翻译功能,例如目前市面上的聊天类应用,可以选中需 要翻译的聊天内容,在点击或长按该文本后,选中“翻译”按钮,实时显示该聊天内容的翻译 结果。通常,该翻译结果会呈现在该聊天内容附近。当用户需要再次翻译聊天内容时,需要重 复上述操作以显示翻译结果。
如果当前应用本身不支持在应用内的翻译功能,例如阅读应用,用户需要复制或者记忆需 要翻译的文本,例如某个英文单词,然后切换出当前应用,打开翻译应用,将该英文单词粘贴 或手动输入至输入框,点击翻译按钮后,显示翻译结果,从而完成翻译操作。显然,上述操作 方式步骤繁琐,致翻译效率低下,影响用户体验。
进而,一种改进方式是通过阅读应用或浏览器插件或翻译软件提供的插件,实现屏幕取词 进行文本翻译,即通过在后台打开该阅读应用或浏览器插件或翻译软件提供的插件,在用户选 中需要翻译的文本时,实现即时的翻译结果,无需打开翻译网页或者翻译软件。然而,上述方 式仍需要用户额外安装插件才能实现,增加了用户使用的门槛。另外,在电子设备例如手机中, 受限于手机系统底层的控制逻辑,较难实现。
进而,另一种改进方式是通过翻译应用主动监控系统的剪切板内容,从而在用户从当前阅 读应用切换到翻译应用时,翻译应用可以自动获取剪切板的内容并显示该内容的翻译结果,免 去了手动输入的麻烦。然而,上述操作方式仍然需要用户离开当前应用并切换到翻译应用才能 获取翻译结果,使得操作方式较为繁琐,降低了翻译的效率。
由此,无论当前应用本身支持在应用内的翻译功能,或者当前应用本身不支持在应用内的 翻译功能而需要切换至翻译应用显示翻译结果,上述方式都是在应用级的翻译,也就是说,前 者是集成在某个应用内部的翻译插件,后者是完整的独立的翻译应用,皆不涉及利用手机系统 底层的功能实现翻译,例如基于安卓系统为底层打磨的手机系统级别实现的翻译。
基于此,本申请实施例提供一种翻译方法及电子设备,通过在手机系统底层的改进,以提 高用户体验。
参见图1,为本申请实施例提供的一种电子设备的结构示意图。电子设备100可以包括处 理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serialbus,USB) 接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块 150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口 170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用 户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,触摸传感器180K,环境光传感器180L等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请 另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者 拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit, GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器, 数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器 (neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也 可以集成在一个或多个处理器中。例如,处理器110用于执行本申请实施例中的环境光的检测 方法。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和 时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。 如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少 了处理器110的等待时间,因而提高了系统的效率。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理 的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。 处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用有机发 光二极管(organic light-emitting diode,OLED)。在一些实施例中,电子设备100可以包 括1个或N个显示屏194,N为大于1的正整数。
如图2A所示,可以将Android系统分为五层,分别为应用程序层(applications)、应用 程序框架层(application framework)、安卓运行时(Android runtime)和系统库、硬件抽象 层(hardware abstract layer,HAL,图中未示出)以及内核层(kernel)。
其中,应用程序层可以包括一系列应用程序包。例如,应用程序层可以包括相机,图库, 日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序(应用程序可以简称 为应用),本申请实施例对此不做任何限制。
本申请实施例中,应用程序层还可以包括情景感知模块、业务逻辑处理模块和业务呈现模 块等。情景感知模块、业务逻辑处理模块和业务呈现模块可以是独立的APP,或者可以分别集 成在不同的APP中,或者可以集成在同一个APP中,本申请不做限定。
其中,情境感知模块,常驻运行或以低功耗形式运行,具有感知外部事实或者环境的能力。 情境感知模块可以通过API(应用程序接口)从应用程序层的其他应用程序或应用程序框架层 或系统层或内核层来检测相关事件和获取事件的状态,比如检测蓝牙连接、网络连接、监测用 户短信、定制定时器等。在本申请实施例中,情境感知模块主要作用是监听剪贴板是否有复 制事件,当监听到剪贴板有复制事件,将复制事件通知给业务逻辑处理模块。情境感知模块还 可以用于获取剪切板中的剪切内容的来源应用(APP),即应用包名。也就是说,剪切板内容通 过情境感知模块识别该剪切的内容是从某个具体的应用中复制的。另外,情境感知模块还可以 检测是否有退出当前页面的操作,当检测到退出当前页面的操作,通知业务逻辑处理模块。
业务逻辑处理模块(如:计算引擎)具有业务逻辑处理能力,用于实现各种悬浮球或悬浮 窗的展示,消失的逻辑。例如,业务逻辑处理模块接收到用户触发的复制事件及情境感知模块 发送的剪切板内容,判断是否满足翻译条件,从而判断是否显示悬浮球。业务逻辑处理模块还 可以根据用户触发的点击悬浮球事件以及从第三方服务器获取的翻译结果内容,判断是否显示 悬浮窗并将翻译结果显示在悬浮窗内。另外,业务逻辑处理模块还可以用于根据用户触发的悬 浮球或悬浮窗消失的事件,判断是否将电子设备上的悬浮球或悬浮窗展示或者消失。
此外,业务逻辑处理模块还可以识别复制文本或者OCR技术提取的文本。例如可以识别出 文本为日程、待分享链接、淘宝口令、网址等类型中的至少一种。又例如还可以识别出文本的 语种。
业务呈现模块(如:YOYO建议),用于将悬浮球或悬浮窗显示或者消失在手机的屏幕上。 例如,业务呈现模块接收到业务逻辑处理模块发送的显示悬浮球或悬浮窗的命令,通知窗口管 理器将该悬浮球或悬浮窗显示在电子设备上。同时,业务呈现模块还可以在悬浮窗内呈现用户 复制的文本及其对应的翻译结果。另外,业务呈现模块还可以用户根据用户触发的悬浮球或悬 浮窗消失的事件,通知窗口管理器将电子设备上的悬浮球或悬浮窗展示或者消失。
如图2A所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,资源管理 器,通知管理器等,活动管理器,剪贴板管理器等,本申请实施例对此不做任何限制。
窗口管理器用于管理窗口程序,窗口管理器可以获取显示屏大小,判断是否有状态栏,锁 定屏幕,截取屏幕等。
剪贴板管理器用于对剪贴板进行管理。剪贴板是用于临时存放交换信息的临时存储区域。
活动管理器用于管理各个应用程序的生命周期以及导航回退功能,负责Android的主线程 创建,各个应用程序的生命周期的维护。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频 文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可 以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。 通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行 的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信 息,发出提示音,电子设备振动,指示灯闪烁等。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的 java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理, 安全和异常的管理,以及垃圾回收等功能。
如图2A所示,系统库可以包括多个功能模块。例如:表面管理器(surfacemanager),媒 体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
如图2A所示,内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动, 音频驱动,传感器驱动。
结合图2B所示,具体而言,窗口管理器包括应用窗口,子窗口(未示出)及系统窗口。
应用窗口对应于某个应用的应用窗口,例如某个阅读应用的应用窗口,用于显示阅读应用 内的内容,又例如翻译应用的应用窗口,用于显示翻译应用内的内容,又例如备忘录应用的应 用窗口,用于显示备忘录应用内的内容。每个应用的界面由一个个activity组成,而activity 又由view组成,view是窗口的存在形式,窗口是view的载体。当启动activity时,通知应 用进程,任何activity都隶属于应用进程。也就是说,例如阅读应用对应一个activity,备 忘录应用由于与阅读应用是不同的应用,因而对应另一个activity。所有activity默认的窗 口类型是基窗口(TYPE_BASE_APPLICATION),即所有其他类型的应用窗口将出现在基窗口上 层。
子窗口依附于父窗口,即不能独立存在,需要依赖一个应用,如应用输入法窗口、应用提 示框窗口等。当父窗口不可见时,子窗口也不可见。
系统窗口与应用窗口不同,不需要对应Activity。与子窗口不同,不需要有父窗口。系 统窗口不属于任何一个应用,由系统来创建,只属于系统本身,往往需要声明权限才能创建, 例如关机对话框窗口,状态栏窗口、搜索条窗口、输入法窗口、警告对话框、系统音量条等。
需要说明的是,系统窗口的层级一般高于应用窗口及子窗口。
继续结合图2B所示,本申请的实施例中,系统窗口中设置有悬浮球及悬浮窗。由上述分 析可知,悬浮球及悬浮窗为系统窗口,无法设置于应用窗口中。
悬浮窗及悬浮球的本质是将一个view交个窗口管理器管理,由于安卓底层的系统限制, 应用窗口z轴范围是1~99,子窗口的范围是1001~1999,系统窗口是(2000~2999),因而, 悬浮窗及悬浮球只能在系统窗口范围中实现,如果要弹出自定义系统级窗口需要动态申请权限。 Z轴是安卓窗口的层级的概念,Z轴越大的窗口越居于顶层。
进一步地,由于应用程序中每个应用的界面由一个个activity组成且任何activity都隶 属于应用进程,因而在系统窗口设置的悬浮球及悬浮窗不具备activity的功能。为了获得悬 浮球及悬浮窗可以获得类似于应用窗口内的activity的效果,即显示内容及基于用户在悬浮 球及悬浮窗滑动的操作,需要额外在系统窗口内部设置滑动操作、滑动冲突等,以及根据用户 的点击等操作,判断响应窗口的焦点等。具体根据以下内容的表述展开而更加清晰。
本申请的一种实施方式中,以执行翻译为例。示例性的,电子设备(以“手机”为例)中 系统设置的默认语言是简体中文。示例性的,在一些实施方式中,在手机的设置界面中设置有 例如“复制触发翻译”的选项开关,当用户选择开启该功能后,当用户复制非系统默认语言的 文字时,会触发本申请实施方式中的翻译功能,显示翻译结果。其中,该翻译结果可以是翻译 原文(如复制文本)和/或翻译译文。如此,手机可以根据识别出的执行翻译的意图直接呈现 翻译结果,从而可以快速满足用户执行翻译的意图。示例性的,在另一些实施方式中,手机的 设置界面中无需设置有例如“复制触发翻译”的选项开关,手机会根据用户复制文字的操作判 断用户可能的意图,例如添加日程、添加备忘录、分享到应用、添加收藏、添加到词典和打开 地图导航等意图中一项或多项,本申请的实施方式中对用户复制文字后手机判断的可能的用户 意图的种类不做限定。
参考图3所示,示例性的,以阅读应用为例,用户打开阅读应用中的某个阅读页面,显示 一段英文。图3(a)中,在需要翻译的场景下,用户选中“patent”这个单词,系统弹出选项栏301,该选项栏301至少包括例如“复制”的操作选项。手机在监听到剪切板中的内容变化后,则会触发识别用户复制文本的意图。应理解,在用户执行对文本的复制操作后,复制的 文本则会被存入剪切板中,从而剪切板中的内容会发生变化。因此,剪切板中的内容变化后, 也即用户输入复制操作后。用户点击“复制”选项后,手机试图识别用户复制文字后的意图, 因而弹出如图3(b)中所示的悬浮球标识302,用于指示手机正在识别用户的意图。例如,手 机可根据复制文本的文本内容、用户画像等数据识别出意图。在识别过程中,无需用户的操作, 即无需用户点击如图3(b)中页面的任何内容,便可以识别用户的意图。当系统识别出用户 的意图是需要翻译“patent”这个单词时,显示如图3(c)中的第一状态的悬浮球303,该 第一状态的悬浮球303用于向用户提供一个显示翻译结果的入口。响应于用户对悬浮球303 的点击或者触摸操作,在图3(d)中显示悬浮窗304并在悬浮窗304内展示“patent”的翻 译结果。悬浮窗304显示的翻译结果包括用户复制的待查询的英文单词“patent”,以及该单 词的中文释义的翻译结果,即“专利”。悬浮窗304显示的界面还包括语音朗读、复制翻译结 果的文本、翻译语种切换等。示例性的,悬浮窗304显示的初始状态,即由用户点击悬浮球 303后显示的默认形态为半屏态,大小约占据一半的手机屏幕。示例性的,由于悬浮窗304的 显示,则取消显示悬浮球303,以达到更好的用户体验。
需要说明的是,悬浮球303与悬浮窗304是安卓移动端的两种不同类型的窗口。悬浮是相 对的,例如上层元素就可以称之为“悬浮”元素,比如导航栏、标签栏相对于下层的内容区就 是悬浮。在本申请的实施方式中,悬浮球303被设定为链接至悬浮窗304的入口,引导用户在 需要显示翻译结果的场景,点击悬浮球303即可在悬浮窗304呈现翻译结果。悬浮窗304被设 定为显示翻译结果的内容呈现窗口。
需要说明的是,本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,无法设置于应用 窗口中。另外,由于安卓对于悬浮球及悬浮窗管控较为严格,因而,弹出自定义系统级窗口需 要动态申请权限。
其中,当手机中系统设置的默认语言是简体中文时,手机识别用户复制文本的语言不是手 机当前的系统语言(即手机设置的默认语言),则可以识别出用户的意图包括执行翻译。例如, 当用户复制的文本的语言为例如英文、日文、法文等除简体中文之外的语言时,手机会识别用 户的翻译意图,从而显示悬浮球标识302及悬浮球303等。通常而言,手机设置的默认语言是 用户熟悉的语言,无需对其进行翻译。
其中,如上所述,手机复制的文本是否触发执行翻译与系统设置的默认语言及复制文本的 语言有关。手机识别用户复制文本的语言不是手机当前的系统语言(即手机设置的默认语言), 则可以识别出用户的意图包括执行翻译。具体而言,示例性的,当手机中系统设置的默认语言 是简体中文时,可以包括如下组合:
第一种组合:复制的文本同时包括系统语言及非系统语言文本。例如当复制的文本中同时 包括中文及法文时,由于手机识别到复制的文本中包括非中文的法文文本,因而,用户复制文 本后,仍然会触发执行翻译的操作,即显示弹出如图3(b)中所示的悬浮球标识302并在一 段时间后自动显示如图3(c)中的第一状态的悬浮球303。
第二种组合:复制的文本为应用程序本身设置的非系统语言的文本。例如当前应用设置的 应用语言为英文时,当用户复制该应用中的英文文本时,由于手机识别到复制的文本中包括非 中文的文本,因而,用户复制文本后,仍然会触发执行翻译的操作,即显示弹出如图3(b) 中所示的悬浮球标识302并在一段时间后自动显示如图3(c)中的第一状态的悬浮球303。
第三种组合:复制的文本为用户输入的非系统语言的文本。例如在聊天应用或备忘录等用 户可以手动输入文本的应用中,用户选中并复制一段用户输入的英文文本,由于手机识别到复 制的文本中包括非中文的文本,因而,用户复制文本后,仍然会触发执行翻译的操作,即显示 弹出如图3(b)中所示的悬浮球标识302并在一段时间后自动显示如图3(c)中的第一状态 的悬浮球303。
在本申请的一些实施方式中,手机还需要识别出复制文本的语言是预设语言,其中,预设 语言是指手机系统或者手机上的翻译应用支持翻译的语言,才可以识别出用户的意图包括执行 翻译。若手机根本不支持翻译复制文本的语言,则无法得到翻译结果,针对该情况,则将识别 为不存在执行翻译的意图。
在本申请的另一些实施方式中,手机还需要识别出复制文本需要满足一定的文本类型。示 例性的,即不是网址链接、邮箱或者利用机器生成的口令(如淘宝口令)等具有特定含义的字 符串,才可以识别出用户的意图包括执行翻译。上述这些具有特定含义的字符串,通常只是标 识符,例如,用于区别不同的网页、不同的邮箱、不同的淘宝商品等,并不具备语言上的含义。 因此,不存在翻译的需求。
在本申请的另一些实施方式中,手机还需要识别出当前复制文本的来源应用需要满足一定 的应用类型。示例性的,即该应用不是翻译应用等单独的专业性翻译应用,或者不是淘宝、抖 音等购物娱乐类应用,才可以识别出用户的意图包括执行翻译。例如,当用户在淘宝应用中复 制非系统默认语言的文字时,手机判定用户此时不存在翻译需求,因而在用户复制文本后,不 会显示悬浮球标识302及悬浮球303。同样的,当用户在专业的翻译软件,例如有道翻译中复 制非系统默认语言的文字时,手机判定用户此时不存在翻译需求,因而在用户复制文本后,不 会显示悬浮球标识302及悬浮球303。
需要说明的是,本申请的实施方式中对于手机使用何种方式对用户的操作进行意图识别不 做限定。例如手机可以根据当前的应用类型、用户复制的文本类型以及当前应用显示的上下文, 判断用户复制文字后的翻译意图等。又例如,手机可以通过使用自然语言处理(Natural Language Processing,NLP)对用户的行为习惯、使用APP的情况等进行综合分析和预测。
需要说明的是,在本申请实施方式中,主要以复制操作为例,来触发手机识别意图。但是 实际实施时,并不以此为限。例如,也可以以对文本的选中操作、长按操作、划线操作、双击 操作等操作触发手机识别意图。
参考图4A所示,若用户在图4A(a)中,在预设时间内未对第一状态的悬浮球401,即上 述图3(c)中的悬浮球303,触发任何点击或者触摸操作,判断用户此时不需要执行翻译操作, 则悬浮球401将呈现第二状态,即图4A(b)中第二状态的悬浮球402,以提高用户体验。预 设时间以秒为单位的较短时间,具体多少时间,本申请在此不做限定。此时,用户的复制行为 将被判定为正常的复制文本行为,而不会显示如图4A(a)中的第一状态的悬浮球401。也就 是说,此时用户的复制行为不会触发执行翻译的操作。例如,若用户在图4A(c)中选中一个 单词,例如“law”,点击“复制”后,由于手机判断用户此时不需要执行翻译操作,手机不会 显示如图4A(a)中的第一状态的悬浮球401,继续显示第二状态的悬浮球402,即图4A(d)。 也就是说,尽管在图4A中,用户复制了单词“law”,此时由于处于第二状态的悬浮球的状态 下,判断用户不需要执行翻译操作,因而,在用户触发复制单词“law”操作时,不会请求翻 译结果,手机执行安卓系统本身的复制操作。
需要说明的是,用户在图3中选中的单词是“patent”,在图4A中选中的单词是“law”, 显然,用户选中的单词不同,也就是说,用户意图执行翻译的单词不同。
示例性的,由于手机的剪切板默认保存最近一次复制的单词,因而在图4A(c)中,若用 户选中单词例如“law”,点击“复制”后,再点击悬浮球402,由于判断用户需要执行翻译的 意图,因而会显示如图3(d)中的悬浮窗,但是翻译的单词由原先的“patent”变成了用户 最新复制的“law”,并在悬浮窗显示“law”的翻译结果。也就是说,由于手机的剪切板默认 保存最近一次复制的单词,因而,在悬浮球402状态下,若用户点击悬浮球402执行翻译操作, 悬浮窗会显示用户在点击悬浮球402前最近一次剪切板保存的文本的相应翻译结果。
其中,第一状态的悬浮球被设定为用于向用户提供一个显示翻译结果的入口。当用户点击 或触摸第一状态的悬浮球后,显示具有翻译结果的悬浮窗。可选的,在显示悬浮窗后,第一状 态的悬浮球消失或者继续保持显示,本申请在此不做限定。
其中,第二状态的悬浮球被设定为在预设时间内用户未对第一状态的悬浮球触发任何点击 或者触摸操作后,显示第二状态的悬浮球。此时,判断用户不需要执行翻译操作。因而,在用 户触发复制操作时,用户的复制行为将被判定为正常的复制文本行为,继续显示第二状态的悬 浮球。
示例性的,第一悬浮球控件对应于第二状态的悬浮球,第二悬浮球控件对应于第一状态的 悬浮球。
结合图4B所示,图4B中的(a)中用户的预设时间内未对第一状态的悬浮球401触发任 何点击或者触摸操作,显示图4B中的(b)中第二状态的悬浮球402。若用户需要在第二状态 的悬浮球显示的状态下执行翻译的操作,如图4B中的(c)所示,用户需要触发点击或者触 摸第二状态的悬浮球402的操作。由于此时手机已缓存有图3中的(a)中用户选择的“patent” 单词的翻译结果,且由于手机的剪切板默认保存最近一次复制的单词并没有检测到剪切板内 容发生变化,因而在用户触发点击或者触摸第二状态的悬浮球402的操作后,显示悬浮窗404, 呈现“patent”单词的翻译结果。
以下展开描述本申请上述实施方式中提供悬浮窗的滑动效果示例。由前文描述可知,由于 本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,无法设置于应用窗口中,其不属于任 何一个应用,其由系统来创建,只属于系统本身。另外,应用程序中每个应用的界面由一个个 activity组成且任何activity都隶属于应用进程,因而在系统窗口设置的悬浮球及悬浮窗没 有固定容器处理滑动和滑动冲突,不具备activity的功能。为了获得悬浮球及悬浮窗可以获 得类似于应用窗口内的activity的效果,即显示内容及基于用户在悬浮球及悬浮窗滑动的操 作,需要额外在系统窗口内部设置滑动操作、滑动冲突等,以及根据用户的点击等操作,判断 响应窗口的焦点等。
示例性的,本申请实施方式悬浮窗,根据占据屏幕的高度的不同,分为3种形态,即底部 态,半屏态及全屏态。底部态的悬浮窗位于当前应用的屏幕底部,不显示任何翻译结果内容, 有利于用户继续访问当前应用内的内容,以提高用户体验。半屏态的悬浮窗占据当前应用的屏 幕约一半左右的大小,显示部分翻译结果内容。半屏态的悬浮窗也可以示例性的作为默认的悬 浮窗形态,即当用户复制文本后显示的第一个形态的悬浮窗。全屏态的悬浮窗可以示例性的占 据整个当前应用的屏幕,其展开基于用户的拖动操作而展开,用于显示比半屏态悬浮窗更多的 翻译结果内容,以提高用户体验。
参考图5A至图9所示,用于示例性的展示本申请实施方式中的悬浮窗的滑动效果以及悬 浮窗在3种不同形态之间的变换的逻辑。以下示例性的展开描述本申请的实现方式。
1)具体而言,悬浮窗的形态变换与用户的滑动速度及滑动距离有关。悬浮球及悬浮窗由 窗口管理器实现,悬浮窗底部态,半屏态及全屏态的形态控制与切换由窗口管理器中的属性参 数y控制,即控制不同形态悬浮窗的高度。
2)具体而言,本申请实施方式中的悬浮球及悬浮窗不抢占当前应用的焦点。例如图3中, 用户复制文本时,焦点事件在当前阅读应用的原文上。当用户点击“复制”选项后,显示悬浮 球标识302并在一段时间后自动显示如图3(c)中的第一状态的悬浮球303。此时,焦点事件 还是在当前应用的原文上,悬浮球不抢占焦点。当用户点击或者触摸悬浮球303后,在图3(d) 中显示悬浮窗304,此时,用户仍然能够滑动当前应用的原文,悬浮窗不抢占焦点。
焦点窗口是指当前正在与用户交互的窗口,该窗口负责接收键事件和触摸事件。当启动新 的Activity、添加新的窗口、移除旧窗口、分屏来回操作时,都会涉及到焦点窗口的更新。 一般而言,一个窗口中一个时间内可以有一个具有焦点的窗口。也就是说,如果不对悬浮窗的 焦点控制做处理,在上述图3(d)中显示悬浮窗304后,用户无法滑动当前应用的原文,用 户必须关闭当前的悬浮窗304后,才能返回当前应用的原文,并继续滑动原文。
为了实现悬浮球及悬浮窗不抢占当前应用的焦点,本申请的实施方式中对悬浮球及悬浮窗 的窗口属性等做了处理。具体而言,在悬浮窗处于半屏态及全屏态时,将悬浮窗的窗口属性设 置为FLAG_NOT_TOUCH_MODAL用以控制焦点事件处理;在悬浮窗处于底部态时,将悬浮窗的窗 口属性设置为FLAG_NOT_FOCUSABLE用以把焦点事件交给当前应用的原文处理,当前应用即本 申请实施方式中当前用户正在使用的阅读应用。
FLAG_NOT_FOCUSABLE:表示当前窗口不需要获取焦点,也不需要接收各种输入事件,此标 记会同时启用FLAG_NOT_TOUCH_MODAL,最终事件会直接传递给下层的具体焦点的窗口。
FLAG_NOT_TOUCH_MODAL:表示在此模式下,系统会将当前窗口区域以外的触摸/点击事件 传递给底层的窗口,当前窗口区域以内的单击事件则当前窗口处理。这个标记很重要,一般来 说都需要开启此标记,否则其他窗口将无法收到触摸/点击事件。
3)具体而言,由于本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,不具备 activity的功能,为了获得悬浮球及悬浮窗可以获得类似于应用窗口内的activity的效果, 即显示内容及基于用户在悬浮球及悬浮窗滑动的操作,需要额外在系统窗口内部设置滑动操作、 滑动冲突等。
本申请的实施方式中,为了实现上述悬浮窗的滑动效果,需要重写窗口管理器内容容器的 ontouch和oninterceptTouch事件,控制滑动和具体的事件分发。
在安卓的架构中,应用窗口的activity是安卓本身封装的,使用时直接调用相应的 activity即可。然而由于本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,安卓的架 构中没有提供相应的activity来管理及调用,因而,为了在系统窗口实现类似于应用窗口内 的activity的效果,需要额外设计一套滑动逻辑实现,具体包括:
a.监听用户在手机屏幕上的触摸事件;
b.监听用户在屏幕上手指的滑动速度和方向;具体通过用户手指在屏幕上的触点以及触 点在屏幕上的相对位置判断;
c.根据用户手指在屏幕上的偏移量更新悬浮窗位置;
d.当用户手指离开屏幕时,处理悬浮窗滑动结果,并释放手势速度方向监听;
4)具体而言,本申请的实施方式中的滑动效果根据用户在屏幕上的滑动速度不同而有不 同的响应事件。具体的实现逻辑在下文图5A及图5B的阐述中公开,此处不再赘述。
5)具体而言,本申请的实施方式提供了防误触的实现。当用户的手指触摸屏幕时,用户 的手指在触摸屏幕时是抖动的,因而需要区分用户的操作是滑动还是触摸或点击事件。
在安卓的架构中,应用窗口的activity本身具备防误触的功能,然而,由于本申请实施 方式中所涉及的悬浮球及悬浮窗为系统窗口,安卓的架构中没有提供相应的功能实现,因而, 为了在系统窗口实现类似于应用窗口内的activity的防误触效果,需要额外设计一套滑动逻 辑实现,具体包括:设定一个移动阈值,当用户手指触碰悬浮窗时,判断是否触发move事件。 即,如果用户手指在手机屏幕上的移动距离小于移动阈值,则判断此次操作为点击事件;如果 用户手指在手机屏幕上的移动距离超过移动阈值,则判断此次操作为滑动事件。
结合图5A所示,具体展开描述悬浮窗从半屏态切换至全屏态的变换实现。悬浮窗状态的 变换与用户拖动悬浮窗滑动的速度以及是否拖动超过分割线有关。示例性的,图5A(a)中呈 现的是半屏态状态下的悬浮窗501。图5A(b)中,分割线502是手机屏幕中悬浮窗501之外 区域的中间分割线,即分割线502为悬浮窗半屏态高度及全屏态高度之间的分割线。当用户的 手指将悬浮窗501向上拖动超过分割线502时,悬浮窗呈现如图5A(c)中的全屏态悬浮窗503。
其中,分割线502可以是半屏态高度与全屏态高度之间的分割线,也可以是半屏态高度与 底部态高度之间的分割线。其根据当前悬浮窗所处的高度以及用户拖动悬浮窗滑动的方向不同 而选择不同的分割线。
其中,悬浮窗的状态除了与用户是否拖动悬浮窗超过两个状态之间的中间线之外,还与用 户拖动悬浮窗的速度有关。
示例性的,当用户拖动悬浮窗501快速向上滑动时,悬浮窗501呈现如图5A(c)中的全 屏态,在快速滑动的情况下,可选的,用户拖动悬浮窗501快速向上滑动可以不用超过分割线 502,仅需要满足快速滑动条件即可呈现如图5A(c)中的全屏态;可选的,也可以在用户拖 动悬浮窗501向上滑动时,同时满足快速滑动及超过分割线,才能呈现如图5A(c)中的全屏 态。
示例性的,结合图5B所示,当用户拖动悬浮窗501慢速向上滑动时,如果此时用户将悬 浮窗501向上拖动超过分割线502时,悬浮窗呈现如图5A(c)中的全屏态。如果此时用户没 有将悬浮窗501向上拖动超过分割线502时,即如图5B(b)中的状态,悬浮窗维持或回弹至 如图5B(c)中的半屏态。
结合图6所示,具体展开描述悬浮窗从全屏态切换至半屏态,继而又切换至底部态的连续 的变换实现。悬浮窗状态的变换与用户拖动悬浮窗滑动的速度以及是否拖动超过分割线有关。 示例性的,图6(a)中呈现的是全屏态状态下的悬浮窗601。图6(b)中,分割线602是为 悬浮窗半屏态高度及全屏态高度之间的分割线。当用户的手指将全屏态悬浮窗601向下拖动超 过分割线602时,悬浮窗呈现如图6(c)中的半屏态悬浮窗603。此时,用户还可以继续向下 拖动半屏态悬浮窗603以呈现不同状态的悬浮窗。图6(d)中,分割线604是为悬浮窗半屏 态高度及底部态高度之间的分割线。当用户的手指将半屏态悬浮窗603向下拖动超过分割线 604时,悬浮窗呈现如图6(e)中的底部态悬浮窗605。
其中,悬浮窗的状态除了与用户是否拖动悬浮窗超过两个状态之间的中间线之外,还与用 户拖动悬浮窗的速度有关。其实现如上述图5A及图5B的实现过程,在此不再赘述。
结合图7所示,具体展开描述悬浮窗从全屏态直接切换至底部态的变换实现。其实现不必 经过全屏态至半屏态,再由半屏态至底部态的过程,而是根据用户的操作,直接从全屏态切换 至底部态。悬浮窗状态的变换与用户拖动悬浮窗滑动的速度以及是否拖动超过分割线有关。示 例性的,图7(a)中呈现的是全屏态状态下的悬浮窗701。分割线702是为悬浮窗半屏态高度 及全屏态高度之间的分割线。分割线704是为悬浮窗半屏态高度及底部态高度之间的分割线。 当用户的手指将全屏态悬浮窗701向下拖动同时超过分割线702及分割线704时,悬浮窗呈现 如图7(b)中的底部态悬浮窗703。
其中,悬浮窗的状态除了与用户是否拖动悬浮窗超过两个状态之间的中间线之外,还与用 户拖动悬浮窗的速度有关。其实现如上述图5A及图5B的实现过程,在此不再赘述。
结合图8所示,具体展开描述悬浮窗从底部态切换至半屏态,继而又切换至全屏态的连续 的变换实现。悬浮窗状态的变换与用户拖动悬浮窗滑动的速度以及是否拖动超过分割线有关。 示例性的,图8(a)中呈现的是底部态状态下的悬浮窗801。图8(b)中,分割线802是为 悬浮窗半屏态高度及底部态高度之间的分割线。当用户的手指将底部态悬浮窗801向上拖动超 过分割线802时,悬浮窗呈现如图8(c)中的半屏态悬浮窗803。此时,用户还可以继续向上 拖动半屏态悬浮窗803以呈现不同状态的悬浮窗。图8(d)中,分割线804是为悬浮窗半屏 态高度及全屏态高度之间的分割线。当用户的手指将半屏态悬浮窗803向上拖动超过分割线 804时,悬浮窗呈现如图8(e)中的底部态悬浮窗805。
其中,悬浮窗的状态除了与用户是否拖动悬浮窗超过两个状态之间的中间线之外,还与用 户拖动悬浮窗的速度有关。其实现如上述图5A及图5B的实现过程,在此不再赘述。
结合图9所示,具体展开描述悬浮窗从底部态直接切换至全屏态的变换实现。其实现不必 经过底部态至半屏态,再由半屏态至全屏态的过程,而是根据用户的操作,直接从底部态切换 至全屏态。悬浮窗状态的变换与用户拖动悬浮窗滑动的速度以及是否拖动超过分割线有关。示 例性的,图9(a)中呈现的是底部态状态下的悬浮窗901。分割线902是为悬浮窗半屏态高度 及底部态高度之间的分割线。分割线904是为悬浮窗半屏态高度及全屏态高度之间的分割线。 当用户的手指将底部态悬浮窗701向上拖动同时超过分割线902及分割线904时,悬浮窗呈现 如图9(b)中的底部态悬浮窗903。
其中,悬浮窗的状态除了与用户是否拖动悬浮窗超过两个状态之间的中间线之外,还与用 户拖动悬浮窗的速度有关。其实现如上述图5A及图5B的实现过程,在此不再赘述。
以下参考图10A及图10B描述本申请实施方式中用户连续复制的场景。示例性的,以下描 述也将展开描述本申请实施方式中不抢占焦点的非模态的悬浮窗的实现方式。
结合图10A所示,图10A中的(a)中悬浮窗1001呈现半屏态。图10A中的(b)中,悬 浮窗外区域1002为手机屏幕中除了悬浮窗1001之外的区域。如前文所述,由于本申请实施 方式中的悬浮窗不抢占当前应用的焦点,用户仍然能够滑动当前应用的原文,因而,当悬浮窗外区域1002检测到用户的触摸或点击操作时,判断用户此时的意图是浏览当前应用的原文 而不是翻译,悬浮窗显示如图10A中的(c)中的底部态,从而用户可以浏览当前应用的原文。 当用户需要继续翻译新的单词时,如图10A中的(d)所示,用户选中单词“development”后,弹出选项栏1004,该选项栏1004至少包括例如“复制”的操作选项。手机在监听到剪切板中的内容变化后,则会触发识别用户复制文本的意图。应理解,在用户执行对文本的复制操作后,复制的文本则会被存入剪切板中,从而剪切板中的内容会发生变化。因此,剪切板中的内容变化后,也即用户输入复制操作后。用户点击“复制”选项后,手机试图识别用户复制文字后的意图,因而弹出如图10A中的(e)所示的半屏态悬浮窗1005,展示“development” 的翻译结果。悬浮窗1005显示的翻译结果包括用户复制的待查询的英文单词“development” 以及该单词的中文释义的翻译结果,即“发展”。悬浮窗1005还显示其他额外的内容,其内 容如图3中的(d)中显示悬浮窗304显示的内容,在此不再赘述。示例性的,悬浮窗1005 显示的初始状态为半屏态,大小约占据一半的手机屏幕。示例性的,由于悬浮窗1005的显示, 可以同时显示悬浮球,也可以不显示悬浮球,以达到更好的用户体验。
需要说明的是,图10A(b)中当悬浮窗外区域1002检测到用户的触摸或点击操作时,判 断用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗显示如图10A(c)中的底部态, 从而用户可以浏览当前应用的原文。具体而言,通过监听用户在悬浮窗外区域1002的触摸或 点击操作,从而触发了ACTION_OUTSIDE事件,从而中半屏态转而显示底部态,此过程与用户 操作当前应用的原文不冲突。
需要说明的是,图10A(b)中不抢占焦点的悬浮窗1001也被成为非模态对话框,其优点 在于不抢占窗口的焦点,用户在使用本申请实施方式的悬浮窗时,通过触摸或点击悬浮窗外区 域即可将悬浮窗返回底部态,从而继续浏览当前应用的内容,提高用户的体验。也就是说,如 果图10A(b)中悬浮窗1001的焦点没有如本申请实施方式中做过处理,即如果该悬浮窗是模 态的对话框,悬浮窗1001将抢占当前阅读应用的焦点,用户必须关闭悬浮窗后,才能继续浏 览阅读应用的原文。如此,用户每完成一次翻译后,用户需要关闭翻译结果(第1步操作), 再次选中新的文本(第2步操作)并复制(第3步操作),而后再次点击翻译功能的快捷入口 (第4步操作)才能完成下一次翻译,即至少4步操作才能完成下一次翻译。从而导致连续翻 译的过程十分复杂。
模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执 行程序中其他任务,如单击确定、取消、关闭按钮等将该对话框关闭。
当非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。
如前文所述,在本申请实施方式中,悬浮窗的窗口属性被设置为FLAG_NOT_TOUCH_MODAL, 因而在此模式下,系统会将当前窗口区域以外的触摸/点击事件传递给底层的窗口,当前窗口 区域以内的单击事件则当前窗口处理。继续以图10A(b)为例,当手机检测到在悬浮窗外区 域1002的触摸或点击事件时,将窗口传递给当前的阅读应用,进而用户可以继续浏览当前阅 读应用的页面。当手机检测到在悬浮窗区域1001的触摸或点击事件时,则继续由悬浮窗1001 处理用户的触摸或点击事件。
结合图10B所示,示例性的,在连续翻译的场景下,当悬浮窗1001处于如图10B(a)半 屏态时,用户仍然可以继续触发复制翻译操作。区别于上述图10A(a)至图10A(e)中的连续复制场景下,当用户在图10A(d)中复制一个新的文本时,悬浮窗1003呈现底部态。在图10B的连续复制场景下,悬浮窗1001始终处于半屏态。
当用户需要继续翻译新的单词时,如图10B(b)所示,用户选中单词“development”后, 弹出选项栏1006,该选项栏1006至少包括例如“复制”的操作选项,悬浮窗1001保持半屏 态。手机在监听到剪切板中的内容变化后,则会触发识别用户复制文本的意图。应理解,在用 户执行对文本的复制操作后,复制的文本则会被存入剪切板中,从而剪切板中的内容会发生变 化。因此,剪切板中的内容变化后,也即用户输入复制操作后。用户点击“复制”选项后,手 机试图识别用户复制文字后的意图,因而展示如图10B(c)所示的半屏态悬浮窗1007,展示 “development”的翻译结果。悬浮窗1007展示的翻译结果内容与图10A(e)所示的半屏态 悬浮窗1005一致,在此不再赘述。
应注意,上述描述仅说明了两次连续翻译的过程,若存在两次以上的连续翻译的需求,手 机可以重复执行图10A及图10B的过程,以完成两次以上的连续翻译。
如此,在一次翻译完成后,手机响应于用户对相同或不同文本的连续复制的操作,可以直 接触发另一次翻译。如悬浮窗为如图10A(d)中底部态,则将其显示至如图10A(e)的半屏 态,显示新的文本的翻译结果。如悬浮窗为如图10B(a)中半屏态,则直接在半屏态显示新 的文本的翻译结果。也就是说,相较于常规技术,本申请方案在多次连续翻译的过程中,只要 悬浮窗未被关闭,则在用户复制新的文本后,就可直接触发手机翻译该新的文本并显示翻译结 果。而无需用户在复制新的文本后再次手动触发翻译。从而可以提升连续翻译的快捷性。
结合图11所示,悬浮窗1101呈现全屏态。悬浮窗外区域1102为手机屏幕中除了悬浮窗 1101之外的区域。如前文所述,由于本申请实施方式中的悬浮窗不抢占当前应用的焦点,用 户仍然能够滑动当前应用的原文,因而,当悬浮窗外区域1102检测到用户的触摸或点击操作 时,判断用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗显示如图11(b)中的底 部态,从而用户可以浏览当前应用的原文。其实现方式如图10A(b),在此不再赘述。
参考图12所示,为了增加细腻的滑动效果,通过设置窗口属性FLAG_LAYOUT_NO_LIMIT 以实现预先加载翻译结果内容的效果。NO_LIMIT代表可以在屏幕之外绘制内容,在拖动悬浮 窗时直接显示该内容。当悬浮窗1201显示如图12(a)中的半屏态时,悬浮窗底部在屏幕之 外额外绘制了悬浮窗底部区域1202,该区域用于提前预加载悬浮窗1201的剩余翻译内容,悬 浮窗底部区域1202在悬浮窗半屏态下对用户不可见。如图12(b),当用户将悬浮窗1201由 半屏态拖动至如图12(c)全屏态时,由于已经提前在悬浮窗底部在屏幕之外额外绘制了悬浮 窗底部区域1202,不需要额外绘制悬浮窗1201外剩余翻译内容的绘制,从而使用户在拖动悬 浮窗的过程中不会出现锯齿、跳动等效果,显示效果更加细腻,提高了用户体验。
参考图13所示,如图13(a)所示全屏态的悬浮窗时,用户可以拖动悬浮窗内的翻译结 果内容,从而获得更多更完整的翻译结果内容。如图13(a)至图13(b)至如图13(c)所 示的翻译结果内容为一个递进关系,即根据用户的滑动操作,悬浮窗内显示更多的翻译结果内 容。
如前文所述,由于本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,不具备 activity的功能,因而悬浮窗内的页面不具备滑动功能。
在安卓的架构中,窗口的触摸/点击事件和oninterceptTouch事件是由viewglobal事件 来拦截。Viewglobal用于展示给用户显示的视图是单个或整个view,其由ouinterceptTouch 来控制。当手机接收到一个触摸/点击事件后,由outouch事件判断是触摸/点击在悬浮窗内或 这悬浮窗外区域。本申请的实施方式中,为了实现上述悬浮窗的滑动效果,需要重写窗口管理 器内容容器的ontouch和oninterceptTouch事件,控制滑动和具体的事件分发。
为了获得类似于应用窗口内的activity的效果,即使得用户可以在悬浮窗内实现滑动效 果,需要额外设计一套滑动逻辑实现。当判断触摸/点击在悬浮窗内区域时,额外增加悬浮窗 内区域的滑动逻辑实现,即子view,以便于用于在悬浮窗内通过滑动展示更多的翻译结果内 容。具体包括:
a.监听用户在手机屏幕上的触摸事件;
b.监听用户在屏幕上手指的滑动事件,如果检测到滑动事件且判断子view不需要滑动, 则判断悬浮窗滑动;如果检测到滑动事件且判断子view需要滑动,则由子view处理滑动事件;
c.根据用户手指在屏幕上的偏移量更新悬浮窗位置;
d.当用户手指离开屏幕时,处理悬浮窗滑动结果;
可选的,此处悬浮窗内区域的滑动相同或不同于前文悬浮窗的底部态半屏态及全屏态的滑 动逻辑实现。
参考图14所示,为手机屏幕在翻转状态,即横屏模式,的悬浮窗展示形态。不同于前述 图1至图13的手机在竖屏状态悬浮窗具有底部态、半屏态及全屏态的3种呈现方式,示例性 的,在横屏模式下,悬浮窗具有底部态1401及全屏态1403两种呈现方式。分割线1402是为 悬浮窗底部态高度及全屏态高度之间的分割线。当用户的手指将如图14(a)底部态悬浮窗1401 向上拖动超过分割线1402时,悬浮窗呈现如图14(b)中的全屏态悬浮窗1403。其触发方式 如图1至图4B的表述,其滑动逻辑及实现如图5A至图9的表述,在此不再赘述。
参考图15所示,为手机屏幕在翻转状态,即横屏模式,本申请实施方式中不抢占焦点的 非模态的悬浮窗。其实现方式如前文中图10A至图11的表述,在此不再赘述。
其中,横屏状态的悬浮窗也具备竖屏状态下悬浮窗如图10A至图11的非模态对话框,其 也可以实现如图10A至图11的连续复制,其也具备如图12的悬浮窗内滑动及预先加载翻译结 果内容的效果,上述实现的具体描述同前述竖屏状态,在此不再赘述。
其中,悬浮窗外区域1502为手机屏幕中除了悬浮窗之外的区域。示例性的,在横屏状态 下,其为竖屏状态下顶部的状态栏区域。如前文所述,由于本申请实施方式中的悬浮窗不抢占 当前应用的焦点,用户仍然能够滑动当前应用的原文,因而,当悬浮窗外区域1502检测到用 户的触摸或点击操作时,判断用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗由图 图15(a)的全屏态显示为如图15(b)中的底部态,从而用户可以浏览当前应用的原文。
可选的,在横屏状态下,悬浮窗在底部态和全屏态的横向最大宽度应不与竖屏状态下顶部 的状态栏区域重叠,即横屏状态下的悬浮窗的横向宽度可设计为不占满整个横屏状态下屏幕的 宽度,为用户预留状态栏区域的操作,以提高用户体验。
参考图16所示,为本申请实施方式中的实现流程图,具体包括:
S1601:用户触发复制事件。
S1602:电子设备判断满足翻译条件。
S1603:电子设备显示悬浮球。
S1604:用户点击悬浮球。
S1605:悬浮窗显示半屏态。
S1606-S1607:根据用户的不同操作,悬浮窗在底部态S1607、半屏态S1605及全屏态S1607 之间转换。
上述实现流程在前文已有描述,具体参见图1至图15的描述,在此不再赘述。
参考图17所示,为本申请实施方式中的逻辑实现流程图,具体包括:
S1701:业务逻辑处理模块向情境感知模块发出订阅复制围栏的指令。
S1702:情境感知模块向剪切板管理器发出监控复制围栏的指令。
S1703:剪切板管理器监听复制事件。
示例性的,当手机在监听到剪切板中的内容变化后,则会触发识别用户复制文本的意图。 应理解,在用户执行对文本的复制操作后,复制的文本则会被存入剪切板中,从而剪切板中的 内容会发生变化。
S1704:用户触发复制事件,由剪切板管理器感知剪切板中的内容变化。
示例性的,在需要翻译的场景下,用户在打开的当前应用的页面复制文本,监听到剪切板 中的内容变化后,则会触发识别用户复制文本的意图。。
示例性的,在本申请实施方式中,主要以复制操作为例,来触发手机识别意图。但是实际 实施时,并不以此为限。例如,也可以以对文本的选中操作、长按操作、划线操作、双击操作 等操作触发手机识别意图。
S1705:情境感知模块监听剪切板事件。
S1706:剪切板管理器向情境感知模块发送剪切板内容。
示例性的,剪切板管理器保存用户最近一次复制的文本并将其发送至情境感知模块,该内 容包括复制的文本以及从具体的哪个应用获取的复制文本,即复制文本的应用来源。在安卓提 供的架构中,剪切板管理器本身并不具备识别复制文本的应用来源,
S1707:情境感知模块从剪切板管理器获取用户复制的文本,从剪切板内容中获取应用包 名。
示例性的,情境感知模块从剪切板内容中识别复制文本的应用来源。
S1708:情境感知模块向业务逻辑处理模块发送剪切板内容及应用包名。
S1709:业务逻辑处理模块根据接收到的剪切板内容及应用包名,判断是否满足翻译条件。
示例性的,业务逻辑处理模块判断是否满足翻译条件,包括:
a.判断复制的文本中是否包含手机当前的非系统语言。手机复制的文本是否触发执行翻 译与系统设置的默认语言及复制文本的语言有关。例如,当手机中系统设置的默认语 言是简体中文时,可以包括如下组合的任何一种则可以被视为满足翻译条件:
第一种组合:复制的文本同时包括系统语言及非系统语言文本。例如当复制的文本中 同时包括中文及法文时,由于手机识别到复制的文本中包括非中文的法文文本,因而, 用户复制文本后,仍然会触发执行翻译的操作;
第二种组合:复制的文本为应用程序本身设置的非系统语言的文本。例如当前应用设 置的应用语言为英文时,当用户复制该应用中的英文文本时,由于手机识别到复制的文本中包括非中文的文本,因而,用户复制文本后,仍然会触发执行翻译的操作;
第三种组合:复制的文本为用户输入的非系统语言的文本。例如在聊天应用或备忘录 等用户可以手动输入文本的应用中,用户选中并复制一段用户输入的英文文本,由于手机识别到复制的文本中包括非中文的文本,因而,用户复制文本后,仍然会触发执 行翻译的操作;
b.判断复制的文本中包含的非系统语言是否为手机系统支持的预设语言。例如若用户复 制的非系统语言文本,例如俄罗斯语,不是手机系统本身支持的预设语言,则不满足 翻译条件;
c.判断复制的文本是否符合一定的文本类型。例如不是网址链接、邮箱或者利用机器生 成的口令(如淘宝口令)等具有特定含义的字符串,则判断满足翻译条件;
d.判断复制的文本的来源应用是否满足一定的应用类型。例如该应用不是翻译应用等单 独的专业性翻译应用,或者不是淘宝、抖音等购物娱乐类应用,则判断满足翻译条件;
需要说明的是,以上罗列的判断条件abcd可以同时满足,也可以满足其中的任何一种或 多种,本申请的实施方式在此不做限定。
S1710:当判断满足翻译条件时,业务逻辑处理模块向翻译服务器发送剪切板内容,用以 请求翻译结果。
示例性的,手机端负责将获取的用户复制的文本通过翻译服务器获取翻译结果内容,该翻 译服务器可以是第三方的专业性翻译服务提供商,也可以是手机端厂商提供的翻译服务器,本 申请的实施方式在此不做限定。
示例性的,手机端也可以向手机端内安装的翻译应用或手机端系统内置的翻译词典获取翻 译结果内容,从而不用通过云端服务,可以实现不联网的状态下脱机实现翻译的功能。
S1711:当判断满足翻译条件时,业务逻辑处理模块向业务呈现模块发出通知显示悬浮球 的指令。
示例性的,业务呈现模块用于协调窗口管理器在手机界面呈现悬浮球及悬浮窗。
S1712:业务呈现模块向窗口管理器发出显示悬浮球的指令。
S1713:窗口管理器向业务呈现模块返回显示悬浮球的指令。
示例性的,窗口管理器负责协调构建悬浮球的显示,其需要与业务呈现模块相互配合。
S1714:翻译服务器向业务逻辑处理模块发送翻译结果内容。
S1715:业务呈现模块显示悬浮球。
S1716:用户触发点击悬浮球事件。
示例性的,在业务呈现模块显示悬浮球时,业务逻辑处理模块中已有用户复制文本对应的 翻译结果内容。因而,当用户需要显示翻译结果内容时,即触摸或点击悬浮球,即可显示翻译 结果。
S1717:业务逻辑处理模块判断显示翻译结果。
示例性的,业务逻辑处理模块根据用户的触摸或点击悬浮球事件,判断是否显示已接收到 的翻译结果内容。如果判断显示翻译结果内容,则判断显示悬浮窗。
S1718:当判断显示翻译结果时,业务逻辑处理模块向业务呈现模块发出通知显示悬浮窗 的指令。
示例性的,可选的,悬浮窗与悬浮球可以同时显示,也可以显示二者中的一者。
S1719:业务呈现模块向窗口管理器发出显示悬浮窗的指令。
S1720:窗口管理器向业务呈现模块返回显示悬浮窗的指令。
S1721:业务逻辑处理模块向业务呈现模块发出显示翻译结果的指令。
S1722:业务呈现模块显示悬浮窗及翻译结果。
示例性的,本申请实施方式悬浮窗,根据占据屏幕的高度的不同,分为3种形态,即底部 态,半屏态及全屏态。三种形态的悬浮窗之间根据用户的操作,可以互相切换。
示例性的,悬浮窗为非模态对话框,在悬浮窗显示的状态下,用户可以实现复制文本的连 续复制,而无需用户在复制新的文本后再次关闭悬浮窗并手动触发翻译。
示例性的,本申请实施方式悬浮窗不抢占窗口的焦点,用户在使用本申请实施方式的悬浮 窗时,通过触摸或点击悬浮窗外区域即可将悬浮窗返回底部态,从而继续浏览当前应用的内容, 而无需关闭悬浮窗。
S1723:用户触发触摸或点击悬浮窗外区域的事件。
S1724:业务呈现模块向窗口管理器发出显示底部态悬浮窗的指令。
S1725:窗口管理器向业务呈现模块返回显示底部态悬浮窗的指令。
S1726:业务呈现模块显示底部态悬浮窗。
参考图18所示,为本申请的另一种实施方式,其实现方式与上述图1至图17的实现方式 一致,示例性的,区别包括:
第一,在图18(a)中,用户选中文本后,选项栏1801至少包括例如“翻译”的操作选项。而在前述图3(a)中,选项栏301包括“复制”选项,其用于手机在监听到剪切板中的 内容变化后,则会触发识别用户复制文本的意图。在图18(a)中,由于“翻译”这个选项直 接说明用户需要翻译文本的意图,因而其可用于直接触发执行翻译的操作。
第二,在用户选择点击选项栏1801中“翻译”的选项后,手机直接显示悬浮窗1802。悬 浮窗1802与图3(d)中显示的悬浮窗304相同,展示与其相同的翻译结果。可选的,悬浮窗的初始状态为半屏态,其也可以是底部态或全屏态。
第三,由于用户选择点击选项栏1801中“翻译”的选项后手机直接显示悬浮窗1802,因 而,在本申请该实施方式中,示例性的,不会显示例如图3(b)中所示的悬浮球标识302、如 图3(c)中的第一状态的悬浮球303以及如图4A(b)中第二状态的悬浮球402。
参考图19所示,为本申请的另一种实施方式,其实现方式与上述图1至图18的实现方式 一致。示例性的,图19的实施方式中,图19(a)中,选项栏1901同时包括“复制”及“翻译”选项,其区别于图3(a)中,选项栏301包括“复制”选项,图18(a)中,选项栏1801 至少包括例如“翻译”的操作选项。因而,在本申请图19的实施方式中,同时具备图1至图 17及图18的实现方式,即用户既可以通过图1至图17的“复制”的实现方式触发执行翻译, 也可以通过图18的“翻译”的实现方式触发翻译。因而,用户可以灵活根据用户偏好选择二 者之中的一者或二者。
示例性的,以用户通过图1至图17“复制”的方式触发执行翻译为例。图19中的(a)所描述的是用户在执行图3中的(a)的方式“复制”“patent”这个单词触发执行翻译,经 过图3中的(b)及图3中的(c)的实现后,用户因未在预设时间点击悬浮球303,因而手机 界面展示图4A中的(b)的界面。若用户此时需要执行翻译,例如用户需要翻译“development” 这个单词,可选的,包括如下方式:
第一,用户可以触摸或点击悬浮球1902以触发执行翻译,在图19(b)中的悬浮窗1903 中显示对应的翻译结果内容。应注意,悬浮球1902的实现方式对应于图4A的悬浮球402,悬 浮窗1903的实现方式同前述图1至图18;或者
第二,用户可以触摸或点击选项栏1901中“翻译”选项,在图19(b)中的悬浮窗1903中显示对应的翻译结果内容。应注意,“翻译”选项触发执行翻译的实现方式同图18,悬浮窗1903的实现方式同前述图1至图18。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的 技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围 应以所述权利要求的保护范围为准。

Claims (41)

1.一种翻译方法,包括电子设备及应用程序,其特征在于,包括:
显示所述应用程序的第一界面,所述第一界面包括第一文本及第一悬浮球控件;
响应于用户对所述第一文本的第一操作,显示第一控件,所述第一控件包括复制选项及翻译选项;
响应于用户对所述复制选项的复制操作,所述第一文本被写入所述电子设备的剪切板,在所述复制操作后,响应于用户对所述第一悬浮球控件的悬浮球操作,在所述第一界面显示悬浮窗,其中,所述悬浮窗包括所述第一文本及所述第一文本对应的第一译文,所述悬浮窗显示第一状态;
响应于用户对所述第一文本的第二操作,显示所述第一控件;
响应于用户对所述翻译选项的翻译操作,在所述第一界面显示所述悬浮窗,所述悬浮窗显示第二状态,所述第二状态与所述第一状态相同或不同。
2.根据权利要求1所述的翻译方法,其特征在于:所述复制选项还可以被替换成剪切选项。
3.根据权利要求1所述的翻译方法,其特征在于:所述第一文本不包括网址、邮箱或利用机器生成的口令,所述第一文本与所述电子设备的系统语言不同。
4.根据权利要求1所述的翻译方法,其特征在于:所述应用程序不包括消费类、娱乐类或视频类应用。
5.根据权利要求1所述的翻译方法,其特征在于:所述第一操作包括对所述第一文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第二操作包括对所述第一文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种。
6.根据权利要求1所述的翻译方法,其特征在于:还包括在所述第一界面显示悬浮窗后,所述第一界面不显示所述第一悬浮球控件和/或所述第一控件。
7.根据权利要求1所述的翻译方法,其特征在于:所述悬浮窗的所述第一状态包括底部态、半屏态或全屏态中的任意一种,所述悬浮窗的所述第二状态包括底部态、半屏态或全屏态中的任意一种。
8.根据权利要求1所述的翻译方法,其特征在于:在显示所述悬浮窗后,所述第一界面还包括第一区域,所述第一区域为所述第一界面中除所述悬浮窗之外的区域。
9.根据权利要求8所述的翻译方法,其特征在于:响应于用户对所述第一区域的第三操作,所述悬浮窗显示第三状态,所述第三状态包括底部态、半屏态或全屏态中的任意一种,所述第三状态与所述第一状态相同或不同,所述第三状态与所述第二状态相同或不同。
10.根据权利要求9所述的翻译方法,其特征在于:所述第三操作包括对所述第一区域的触摸操作、点击操作、滑动操作或长按操作中的任意一种。
11.根据权利要求9所述的翻译方法,其特征在于:所述第一界面还包括第二文本,响应于用户对所述第二文本的第四操作,显示所述第一控件,其中,所述第四操作包括对所述第二文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第二文本与所述第一文本相同或不同,所述第二文本不包括网址、邮箱或利用机器生成的口令,所述第二文本与所述电子设备的系统语言不同。
12.根据权利要求11所述的翻译方法,其特征在于:响应于用户对所述复制选项的复制操作,所述第二文本被写入所述电子设备的剪切板,在所述第一界面显示悬浮窗,所述悬浮窗显示第四状态,所述悬浮窗包括所述第二文本及所述第二文本对应的第二译文,所述悬浮窗不包括所述第一文本及所述第一译文,所述第四状态与所述第三状态相同或不同。
13.根据权利要求11所述的翻译方法,其特征在于:响应于用户对所述翻译选项的翻译操作,在所述第一界面显示所述悬浮窗,所述悬浮窗显示第五状态,所述悬浮窗包括所述第二文本及所述第二文本对应的第二译文,所述悬浮窗不包括所述第一文本及所述第一译文,所述第五状态与所述第三状态相同或不同。
14.根据权利要求1所述的翻译方法,其特征在于:所述悬浮窗是可滑动的,所述悬浮窗包括底部态、半屏态或全屏态中的任意一种或多种,所述悬浮窗在所述底部态、所述半屏态或所述全屏态中的任意一种或多种之间滑动。
15.根据权利要求14所述的翻译方法,其特征在于:响应于用户对所述悬浮窗在所述第一状态的第一滑动操作,判断所述滑动操作满足滑动条件后,所述悬浮窗显示第六状态,所述第六状态与所述第一状态不同,所述第六状态包括底部态、半屏态或全屏态中的任意一种;判断所述滑动操作不满足滑动条件后,所述悬浮窗显示第七状态,所述第七状态与所述第一状态相同,所述第七状态包括底部态、半屏态或全屏态中的任意一种。
16.根据权利要求14所述的翻译方法,其特征在于:响应于用户对所述悬浮窗在所述第二状态的第二滑动操作,判断所述滑动操作满足滑动条件后,所述悬浮窗显示第八状态,所述第八状态与所述第二状态不同;判断所述滑动操作不满足滑动条件后,所述悬浮窗显示第九状态,所述第九状态与所述第二状态相同,所述第八状态包括底部态、半屏态或全屏态中的任意一种,所述第九状态包括底部态、半屏态或全屏态中的任意一种。
17.根据权利要求15或16所述的翻译方法,其特征在于:所述滑动条件包括满足滑动距离、滑动速度、滑动方向中的任意一者或多者。
18.根据权利要求17所述的翻译方法,其特征在于:判断所述滑动距离满足条件包括判断所述滑动距离大于所述电子设备屏幕高度四分之一。
19.根据权利要求18所述的翻译方法,其特征在于:还包括,若所述滑动距离大于所述电子设备屏幕高度四分之一且小于屏幕高度四分之三时,所述悬浮窗在所述底部态及所述半屏态或所述半屏态及所述全屏态之间切换;若所述滑动距离大于所述电子设备屏幕高度四分之三时,所述悬浮窗在所述底部态及所述全屏态之间切换。
20.根据权利要求14所述的翻译方法,其特征在于:还包括,所述悬浮球在所述半屏态滑动至所述全屏态前,预加载所述第一译文对应的第一详细译文,所述第一详细译文包括所述第一译文显示在所述全屏态的悬浮窗内且未显示在所述半屏态的所述悬浮窗内的内容。
21.根据权利要求20所述的翻译方法,其特征在于:所述悬浮窗还包括第一内部窗口,所述第一内部窗口包括所述第一译文和/或所述第一详细译文。
22.根据权利要求21所述的翻译方法,其特征在于:还包括,所述第一内部窗口是可滑动的,用于显示所述第一译文对应的内容。
23.根据权利要求22所述的翻译方法,其特征在于:当所述悬浮窗处于全屏态时,响应于用户对数第一内部窗口的第二滑动操作,所述第一内部窗口显示第二详细译文,所述第二详细译文包括部分所述第一详细译文。
24.根据权利要求1所述的翻译方法,其特征在于:在显示包括所述第一悬浮球控件的所述应用程序的所述第一界面前,还包括:所述第一界面还包括第三文本,响应于用户对所述第三文本的第五操作,所述第一界面显示第二控件,其中,所述第五操作包括对所述第三文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第三文本与所述第一文本相同或不同,所述第三文本不包括网址、邮箱或利用机器生成的口令,所述第三文本与所述电子设备的系统语言不同。
25.根据权利要求24所述的翻译方法,其特征在于:所述第二控件中的选项包括复制选项或剪切选项。
26.根据权利要求25所述的翻译方法,其特征在于:响应于用户对所述第二控件的第六操作,所述第一界面显示第二悬浮球控件,所述第六操作包括对所述第二控件的所述复制选项的复制操作或对所述剪切选项的剪切操作中的任意一种。
27.根据权利要求26所述的翻译方法,其特征在于:还包括,响应于用户对所述第二悬浮球控件的第七操作,显示所述悬浮窗,所述悬浮窗包括所述第三文本及所述第三文本对应的第三译文,所述第七操作包括触摸操作、点击操作或长按操作中的任意一种。
28.根据权利要求26所述的翻译方法,其特征在于:还包括,在显示所述第二悬浮球控件前,显示悬浮球标识,且在第一预设时间后,所述悬浮球标识消失,显示所述第二悬浮球控件。
29.根据权利要求28所述的翻译方法,其特征在于:所述悬浮球标识用于判断所述第六操作满足翻译条件,所述翻译条件包括所述第三文本的语言类型、所述第三文本的内容或所述应用程序的类型中的任意一者或多者。
30.根据权利要求26所述的翻译方法,其特征在于:所述第二悬浮球控件与所述第一悬浮球控件在所述应用程序的所述第一界面显示在所述电子设备的所述第一界面的相同的一侧,二者所述相同一侧显示的位置相同或不同。
31.根据权利要求26所述的翻译方法,其特征在于:还包括,判断在第二预设时间内未检测到用户对所述第二悬浮球控件的触摸操作、点击操作、滑动操作或长按操作中的任意一种,取消显示所述第二悬浮球控件,显示所述第一悬浮球控件。
32.根据权利要求31所述的翻译方法,其特征在于:响应于用户对所述第一悬浮球控件的第八操作,在所述第一界面显示悬浮窗,其中,所述悬浮窗包括所述第三文本及所述第三文本对应的第三译文,所述第八操作包括触摸操作、点击操作或长按操作中的任意一种。
33.根据权利要求31所述的翻译方法,其特征在于:所述第一界面还包括第四文本,若所述第一界面显示所述第一悬浮球控件,响应于用户对所述第四文本的第九操作,所述第一界面显示所述第二控件,响应于用户对所述第二控件的第十操作,所述第一界面继续显示所述第一悬浮球控件,其中,所述第九操作包括对所述第四文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第十操作包括对所述第二控件的所述复制选项的复制操作或对所述剪切选项的剪切操作中的任意一种,所述第四文本与所述第三文本相同或不同,所述第四文本不包括网址、邮箱或利用机器生成的口令,所述第四文本与所述电子设备的系统语言不同。
34.根据权利要求33所述的翻译方法,其特征在于:响应于用户对所述第一悬浮球控件的第十一操作,在所述第一界面显示悬浮窗,其中,所述悬浮窗包括所述第四文本及所述第四文本对应的第四译文,所述第十一操作包括对所述第一悬浮球控件的触摸操作、点击操作或长按操作中的任意一种。
35.根据权利要求1-34中任一项所述的翻译方法,其特征在于:所述悬浮窗为系统窗口,所述系统窗口与所述应用程序的应用窗口不同。
36.根据权利要求1-34中任一项所述的翻译方法,其特征在于:所述悬浮窗为非模态对话框,当所述第一界面显示所述悬浮窗时,所述第一界面或所述悬浮窗中的任意一者是可滑动的。
37.根据权利要求1-34中任一项所述的翻译方法,其特征在于:所述悬浮窗的窗口属性被设置为包括FLAG_NOT_TOUCH_MODAL,所述悬浮窗不与所述应用程序的所述第一界面抢占窗口焦点,包括:
当所述第一界面显示所述悬浮窗时,若所述第一界面被滑动,所述悬浮窗不消失,响应于所述悬浮窗被滑动,所述第一界面不消失;
若所述悬浮窗被滑动,所述第一界面不消失,响应于所述第一界面被滑动,所述悬浮窗不消失。
38.根据权利要求1-34中任一项所述的翻译方法,其特征在于:当所述悬浮窗被关闭时,所述第一界面显示所述第一悬浮球控件。
39.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行权利要求1-38中任一项所述的方法。
40.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-38中任一项所述的方法。
41.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-38中任一项所述的方法。
CN202210023045.5A 2021-09-02 2022-01-10 翻译方法及电子设备 Pending CN115756269A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/004,797 US20240127007A1 (en) 2021-09-02 2022-08-18 Translation Method and Electronic Device
PCT/CN2022/113390 WO2023030030A1 (zh) 2021-09-02 2022-08-18 翻译方法及电子设备
EP22839626.3A EP4170476A4 (en) 2021-09-02 2022-08-18 TRANSLATION METHOD AND ELECTRONIC DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2021110288299 2021-09-02
CN202111028829 2021-09-02

Publications (1)

Publication Number Publication Date
CN115756269A true CN115756269A (zh) 2023-03-07

Family

ID=85348991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210023045.5A Pending CN115756269A (zh) 2021-09-02 2022-01-10 翻译方法及电子设备

Country Status (4)

Country Link
US (1) US20240127007A1 (zh)
EP (1) EP4170476A4 (zh)
CN (1) CN115756269A (zh)
WO (1) WO2023030030A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270720A (zh) * 2023-04-28 2023-12-22 荣耀终端有限公司 一种页面显示方法及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116204093B (zh) * 2023-04-28 2023-10-20 荣耀终端有限公司 一种页面显示方法及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722479B (zh) * 2011-03-30 2015-11-04 腾讯科技(深圳)有限公司 一种实现语言翻译的方法及装置
US20150227509A1 (en) * 2014-02-13 2015-08-13 Kobo Inc. Providing translation of a text item from a displayed portion of text content
CN107153541B (zh) * 2017-04-20 2020-07-03 北京小米移动软件有限公司 浏览交互处理方法及装置
CN107943796B (zh) * 2017-11-17 2022-03-04 珠海市魅族科技有限公司 一种翻译方法和装置、终端、可读存储介质
CN108415752A (zh) * 2018-03-12 2018-08-17 广东欧珀移动通信有限公司 用户界面显示方法、装置、设备及存储介质
CN108595445A (zh) * 2018-04-23 2018-09-28 Oppo广东移动通信有限公司 翻译方法、装置及终端
CN110166586B (zh) * 2019-04-18 2021-01-08 维沃移动通信(深圳)有限公司 一种内容显示方法及终端设备
CN110442879B (zh) * 2019-04-30 2024-02-13 华为技术有限公司 一种内容翻译的方法和终端
CN110781688B (zh) * 2019-09-20 2023-11-07 华为技术有限公司 机器翻译的方法和电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270720A (zh) * 2023-04-28 2023-12-22 荣耀终端有限公司 一种页面显示方法及电子设备

Also Published As

Publication number Publication date
WO2023030030A1 (zh) 2023-03-09
EP4170476A4 (en) 2024-01-24
US20240127007A1 (en) 2024-04-18
WO2023030030A9 (zh) 2023-08-31
EP4170476A1 (en) 2023-04-26

Similar Documents

Publication Publication Date Title
WO2020181988A1 (zh) 一种语音控制方法及电子设备
WO2021244443A1 (zh) 分屏显示方法、电子设备及计算机可读存储介质
CN114416227B (zh) 窗口切换方法、电子设备及可读存储介质
EP3037913A1 (en) Method for performing power-saving mode in electronic device and electronic device therefor
WO2023030030A1 (zh) 翻译方法及电子设备
CN113805980A (zh) 一种显示通知的方法和终端
CN114997186B (zh) 翻译控件的控制方法及电子设备
CN113805744A (zh) 窗口的显示方法和电子设备
CN113805743A (zh) 切换显示窗口的方法和电子设备
KR20160073714A (ko) 전자 기기 및 이의 웹 페이지 디스플레이 방법
JP7476645B2 (ja) 携帯型情報端末及びプログラム
CN107220377B (zh) 搜索方法、电子设备及计算机存储介质
WO2022222672A1 (zh) 多内容并行显示的方法、装置、终端、介质及程序产品
WO2021244459A1 (zh) 一种输入方法及电子设备
CN115562771A (zh) 应用窗口管理方法、电子设备和计算机可读取存储介质
CN114461312B (zh) 显示的方法、电子设备及存储介质
CN116126197A (zh) 应用程序推荐方法
CN116149530A (zh) 翻译方法及电子设备
CN112948844A (zh) 控制方法、装置及电子设备
CN113497835A (zh) 多屏交互方法、电子设备及计算机可读存储介质
CN115033153B (zh) 应用程序推荐方法及电子设备
WO2023131312A9 (zh) 窗口交互方法和电子设备
WO2023131313A1 (zh) 窗口交互方法和电子设备
CN115033142B (zh) 应用交互方法及电子设备
WO2023221946A1 (zh) 一种信息的中转方法及电子设备

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