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

翻译方法及电子设备 Download PDF

Info

Publication number
CN116149530A
CN116149530A CN202210023044.0A CN202210023044A CN116149530A CN 116149530 A CN116149530 A CN 116149530A CN 202210023044 A CN202210023044 A CN 202210023044A CN 116149530 A CN116149530 A CN 116149530A
Authority
CN
China
Prior art keywords
window
user
interface
translation
floating window
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
CN202210023044.0A
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
Publication of CN116149530A publication Critical patent/CN116149530A/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
    • 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
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

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

Abstract

本申请实施例提供了一种翻译方法及电子设备,在需要查阅外文文献的场景,用户选中需要翻译的单词,显示具有复制及翻译选项的选项栏,根据用户的不同操作,在当前应用程序的当前页面显示悬浮窗,并在悬浮窗内呈现该单词的翻译结果。另外,该悬浮窗不与当前应用的页面窗口抢占焦点,因而用户在查询完一个单词后,可以继续浏览原文,而无需将悬浮窗关闭。也可以通过简单的操作结束悬浮窗的生命周期,同时保留翻译的选项,例如悬浮球等,方便用户在有需求的时候继续执行翻译操作,在方便用户的同时,尽可能减少对用户的干扰,提高用户翻译的体验。

Description

翻译方法及电子设备
技术领域
本申请涉及计算机技术领域,具体地涉及一种翻译方法及电子设备。
背景技术
翻译,尤其是机器翻译,对于经常需要查阅外文文献的用户有很大的需求。移动终端内置 的翻译应用或者安装的第三方翻译应用可以满足这些用户群体随时随地翻译的需求,将需要查 询的单词或这语句实时翻译成目标语言,从而为用户带来极大的便利。然而,当前市场上的翻 译应用,大多需要用户在获取待翻译文本后,在当前应用与翻译应用之间来回切换以获取翻译 结果,操作步骤繁琐,导致翻译效率低下,影响用户体验。
发明内容
本申请提出了一种翻译方法及电子设备。在该方法中,用户在使用应用程序阅读外文文献 时,通过选中需要翻译的单词,便可以在当前应用程序的当前页面显示悬浮窗,并在悬浮窗内 呈现用户选中单词的翻译结果。另外,该悬浮窗不与当前应用的页面窗口抢占焦点,因而用户 在查询完一个单词后,可以继续浏览原文,而无需将悬浮窗关闭。也可以通过简单的操作结束 悬浮窗的生命周期,同时保留翻译的选项,例如悬浮球等,方便用户在有需求的时候继续执行 翻译操作,在方便用户的同时,尽可能减少对用户的干扰,提高用户翻译的体验。
第一方面,提供一种翻译方法,包括电子设备及应用程序,显示所述应用程序的第一界面, 所述第一界面包括第一文本及第一悬浮球控件;响应于用户对所述第一文本的第一操作,显示 第一控件,所述第一控件包括复制选项;响应于用户对所述复制选项的复制操作,所述第一文 本被写入所述电子设备的剪切板,在所述复制操作后,响应于用户对所述第一悬浮球控件的第 一悬浮球操作,在所述第一界面显示悬浮窗,其中,所述悬浮窗包括所述第一文本及所述第一 文本对应的第一译文,所述悬浮窗显示第一状态;响应于对所述第一界面的返回操作,所述 悬浮窗消失,显示所述第一界面及所述第一悬浮球控件,其中,所述返回操作包括手势返回操 作、触发虚拟返回键操作或触发实体返回键操作中的任意一种。
示例性的,应用程序的第一界面包括具有文本的页面,例如阅读应用中的阅读页面,其具 有可以阅读的文字,又例如浏览器中的网页,其具有可供浏览的文字内容,又例如聊天应用类 的聊天界面,其具有用户输入的文字文本,又例如备忘录类的笔记页面,其具有用户保存的用 户输入的笔记内容。
这样,用户在使用应用程序阅读外文文献时,通过选中需要翻译的单词,便可以在当前应 用程序的当前页面显示悬浮窗,并在悬浮窗内呈现用户选中单词的翻译结果,从而用户无需退 出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻译的 实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
在一种可能的实现方式中,所述复制选项还可以被替换成剪切选项。
在一种可能的实现方式中,所述第一操作包括对所述第一文本的选中操作、触摸操作、点 击操作、滑动操作、长按操作或双击操作中的任意一种。
示例性的,上述第一操作的目的是为了选中文字,因而对如何选中用户需要翻译的文字有 多种方式,本申请的实施方式中对此不做限定。
在一种可能的实现方式中,还包括在所述第一界面显示悬浮窗后,所述第一界面不显示所 述第一悬浮球控件和/或所述第一控件。
示例性的,当悬浮窗被显示后,隐藏显示上述第一悬浮球控件及第一控件。这样,可以最 大程序的减少在当前应用当前页面的功能重复的图标数量,减少对用户的打扰,同时,又能展 示用户翻译操作所必须的悬浮窗,提高用户体验。
在一种可能的实现方式中,所述悬浮窗的所述第一状态包括底部态、半屏态或全屏态中的 任意一种。
示例性的,悬浮窗包括3种形态,不同状态根据占据的屏幕的高度,从低到高依次分为底 部态、半屏态及全屏态。其根据用户的选择,显示不同状态的悬浮窗形态。相应的,由于悬浮 窗展示的面积的不同,全屏态显示的翻译结果内容会比半屏态及底部态更多,同样的,半屏态 显示的翻译结果内容会比底部态更多。这样,通过展示不同形态的悬浮窗,丰富用户对于悬浮 窗的体验,提高了用户体验。
示例性的,当用户查询新的单词时,悬浮窗的状态,例如第一状态,可以是半屏态,从而, 该状态下,用户既可以在悬浮窗内获取所查询的单词的翻译结果,也可以方便的操作当前页面 的第一界面,用户的选择性更大,用户体验更好。
在一种可能的实现方式中,还包括,当所述悬浮窗为底部态时,响应于对所述第一界面的 返回操作,所述悬浮窗消失,所述第一悬浮球控件消失,显示进入所述第一界面前的界面。
示例性的,例如第一界为阅读应用中的第N页,第一界面前的界面则为第N-1页。当用户 触发返回操作后,应用程序由第一界面的第N页显示为第N-1页。
示例性的,当悬浮窗处于底部态时,当用户触发返回操作时,判断用户不仅需要从当前页 面返回当前页面的前一页,而且也需要将悬浮窗消失。
在一种可能的实现方式中,还包括,响应于用户对所述第一悬浮球控件的第二悬浮球操作, 在所述第一界面显示所述悬浮窗,所述悬浮窗为半屏态,响应于用户的输入操作,显示输入法 界面,响应于用户的所述输入操作,所述悬浮窗显示为底部态。
示例性的,输入法界面与悬浮窗均为系统窗口,因而,在输入法界面被显示后,悬浮窗不 消失。
在一种可能的实现方式中,响应于所述输入法界面的消失,显示所述悬浮窗,所述悬浮窗 为底部态。
在一种可能的实现方式中,响应于用户对所述第一悬浮球控件的第三悬浮球操作,在所述 第一界面显示所述悬浮窗,所述悬浮窗为半屏态,响应于所述第一界面显示系统弹框,所述悬 浮窗保持显示所述半屏态。
示例性的,系统弹框为电量提示框。
在一种可能的实现方式中,响应于所述系统弹框的消失,所述悬浮窗保持显示所述半屏态。
在一种可能的实现方式中,所述第一界面还包括应用选项,响应于用户对所述第一悬浮球 控件的第四悬浮球操作,在所述第一界面显示所述悬浮窗,所述悬浮窗为半屏态,响应于用户 对所述应用选项的选项操作,所述悬浮窗消失,显示所述应用选项。
示例性的,应用选项为备忘录中的笔记分类标签。
在一种可能的实现方式中,在显示所述悬浮窗后,所述第一界面还包括第一区域,所述第 一区域为所述第一界面中除所述悬浮窗之外的区域。
示例性的,当悬浮窗显示的时候,应用程序的当前页面包括悬浮窗及当前页面中被悬浮窗 占据的区域之外的剩余区域,其中,第一区域可以是当前页面中被悬浮窗占据的区域之外的剩 余区域。这样,通过设置第一区域,满足用户在使用悬浮窗的过程中随时可以方便的浏览或滑 动当前应用程序第一界面内容的需求。
在一种可能的实现方式中,响应于用户对所述第一区域的第二操作,所述悬浮窗显示第二 状态,所述第二状态包括底部态、半屏态或全屏态中的任意一种,所述第二状态与所述第一状 态相同或不同,所述第二操作包括对所述第一区域的触摸操作、点击操作、滑动操作或长按操 作中的任意一种。
示例性的,可以理解的是,第一区域的大小是可变的,其区域大小变化根据悬浮窗所处的 形态的不同而不同。可以理解的是,当悬浮窗为底部态时,其第一区域的面积比悬浮窗为中间 态时的第一区域的面积更大。可以理解的是,当悬浮窗为中间态时,其第一区域的面积比悬浮 窗为全屏态时的第一区域的面积更大。这样,通过设置第一区域及其相对于悬浮窗不同形态的 适应性调整的区域大小,满足用户在使用悬浮窗的过程中随时可以方便的浏览或滑动当前应用 程序第一界面内容的需求。
示例性的,在第一区域被执行第二操作后,悬浮窗的第二状态可以是底部态,从而可以直 观的给用户反馈当前焦点转换到了用户操作的当前应用的第一界面,而不是悬浮窗。这样,可 以有效的提升用户使用悬浮窗的体验。
在一种可能的实现方式中,所述第二操作包括对所述第一区域的触摸操作、点击操作、滑 动操作或长按操作中的任意一种。
在一种可能的实现方式中,在显示包括所述第一悬浮球控件的所述应用程序的所述第一界 面前,还包括:所述第一界面还包括第二文本,响应于用户对所述第二文本的第三操作,所述 第一界面显示第二控件,其中,所述第三操作包括对所述第二文本的选中操作、触摸操作、 点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第二文本与所述第一文本相同 或不同,所述第二文本不包括网址、邮箱或利用机器生成的口令,所述第二文本与所述电子设 备的系统语言不同。
在一种可能的实现方式中,所述第二控件中的选项包括复制选项或剪切选项。
在一种可能的实现方式中,响应于用户对所述第二控件的第四操作,所述第一界面显示 第二悬浮球控件,所述第四操作包括对所述第二控件的所述复制选项的复制操作或对所述剪切 选项的剪切操作中的任意一种。
示例性的,第二悬浮球控件被设定为用于向用户提供一个显示翻译结果的入口。当用户点 击或触摸第二悬浮球控件后,显示具有翻译结果的悬浮窗。可选的,在显示悬浮窗后,第二悬 浮球控件消失或者继续保持显示,本申请在此不做限定。
示例性的,第一悬浮球控件被设定为在预设时间内用户未对第二悬浮球控件触发任何点击 或者触摸操作后,显示第一悬浮球控件。此时,判断用户不需要执行翻译操作。因而,在用户 触发复制操作时,用户的复制行为将被判定为正常的复制文本行为,继续显示第一悬浮球控件。
示例性的,用户在使用应用程序阅读外文文献时,通过选中需要翻译的单词,选择复制或 剪切操作后,系统判断用户此时有翻译的意图,因而在当前应用程序的当前页面显示悬浮球, 若此时用户有继续显示翻译结果的需求,可以继续点击上述第二悬浮球控件以在悬浮窗显示翻 译结果。这样,通过判断用户的意图,识别用户翻译的意图,从而显示用于提示展示翻译结果 的第二悬浮球控件,并根据用户的操作,选择是否展示悬浮窗以显示翻译结果。这样,用户无 需退出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻 译的实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
在一种可能的实现方式中,还包括,响应于用户对所述第二悬浮球控件的第五操作,显 示所述悬浮窗,所述悬浮窗包括所述第二文本及所述第二文本对应的第二译文,所述第七操作 包括触摸操作、点击操作或长按操作中的任意一种。
示例性的,用户在使用应用程序阅读外文文献时,通过选中需要翻译的单词,选择复制或 剪切操作后,系统判断用户此时有翻译的意图,因而在当前应用程序的当前页面显示悬浮球, 若此时用户有继续显示翻译结果的需求,可以继续点击上述第二悬浮球控件以在悬浮窗显示翻 译结果。这样,通过判断用户的意图,识别用户翻译的意图,从而显示用于提示展示翻译结果 的第二悬浮球控件,并根据用户的操作,选择是否展示悬浮窗以显示翻译结果。这样,用户无 需退出当前应用并切换到第三方翻译应用以查询单词,在当前应用的当前页面便可以实现对翻 译的实时查询,省去了在当前应用与翻译应用之间来回切换以获取翻译结果,提高了翻译效率。
在一种可能的实现方式中,还包括,在显示所述第二悬浮球控件前,显示悬浮球标识, 且在第一预设时间后,所述悬浮球标识消失,显示所述第二悬浮球控件。
示例性的,例如悬浮球标识用于显示系统正在识别或判断用户的意图,当判断用户的意图 是翻译选中的文本时,显示第二悬浮球控件。又例如悬浮球标识用于展示电子设备向翻译服务 器请求翻译结果的等待标识。
示例性的,第一预设时间以秒为单位的较短时间,具体多少时间,本申请在此不做限定。
在一种可能的实现方式中,所述悬浮球标识用于判断所述第四操作满足翻译条件,所述翻 译条件包括所述第二文本的语言类型、所述第二文本的内容或所述应用程序的类型中的任意一 者或多者。
示例性的,判断是否满足翻译条件,包括:判断复制的文本中是否包含手机当前的非系统 语言;判断复制的文本中包含的非系统语言是否为手机系统支持的预设语言;判断复制的文本 是否符合一定的文本类型;判断复制的文本的来源应用是否满足一定的应用类型。这样,通过 设置翻译条件,减少了不必要的翻译悬浮球或者悬浮窗的弹出或提醒,从而减少对用户的打扰, 提高用户体验。
在一种可能的实现方式中,所述第二悬浮球控件与所述第一悬浮球控件在所述应用程序的 所述第一界面显示在所述电子设备的所述第一界面的相同的一侧,二者所述相同一侧显示的位 置相同或不同。
在一种可能的实现方式中,还包括,判断在第二预设时间内未检测到用户对所述第二悬 浮球控件的触摸操作、点击操作、滑动操作或长按操作中的任意一种,取消显示所述第二悬浮 球控件,显示所述第一悬浮球控件。
示例性的,第二预设时间以秒为单位的较短时间,具体多少时间,本申请在此不做限定。
示例性的,在第二预设时间后,判断用户暂时没有翻译的意图,因而将悬浮球由第二悬浮 球控件变成第一悬浮球控件的状态显示,并显示于第一界面的一侧,当用户再一次有翻译意图 时,对第一悬浮球控件进行操作,便可以再次执行翻译操作,方便快捷,提高了用户体验。
在一种可能的实现方式中,所述悬浮窗为系统窗口,所述系统窗口与所述应用程序的应用 窗口不同。
示例性的,由于本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,无法设置于应用 窗口中,其不属于任何一个应用,其由系统来创建,只属于系统本身。
在一种可能的实现方式中,所述悬浮窗为非模态对话框,当所述第一界面显示所述悬浮窗 时,所述第一界面或所述悬浮窗中的任意一者是可滑动的。
示例性的,非模态对话框,其优点在于不抢占窗口的焦点,用户在使用本申请实施方式的 悬浮窗时,通过触摸或点击悬浮窗外区域即可将悬浮窗返回底部态,从而继续浏览当前应用的 内容,提高用户的体验。
在一种可能的实现方式中,所述悬浮窗的窗口属性被设置为包括FLAG_NOT_TOUCH_MODAL, 所述悬浮窗不与所述应用程序的所述第一界面抢占窗口焦点,包括:当所述第一界面显示所述 悬浮窗时,若所述第一界面被滑动,所述悬浮窗不消失,响应于所述悬浮窗被滑动,所述第一 界面不消失;若所述悬浮窗被滑动,所述第一界面不消失,响应于所述第一界面被滑动,所述 悬浮窗不消失。
示例性的,悬浮窗的窗口属性被设置为FLAG_NOT_TOUCH_MODAL,因而在此模式下,系统 会将当前窗口区域以外的触摸/点击事件传递给底层的窗口,当前窗口区域以内的单击事件则 当前窗口处理。当手机检测到在悬浮窗外区域的触摸或点击事件时,将窗口传递给当前的阅读 应用,进而用户可以继续浏览当前阅读应用的页面。当手机检测到在悬浮窗区域的触摸或点击 事件时,则继续由悬浮窗处理用户的触摸或点击事件。
在一种可能的实现方式中,当所述悬浮窗被关闭时,所述第一界面显示所述第一悬浮球控 件。
示例性的,悬浮窗的关闭,例如点击或触摸悬浮窗上的“X”图标,用以关闭悬浮窗。此 时,悬浮窗关闭,其仍以第一悬浮球控件的形式展示在电子设备第一界面的一侧。这样,用户 再一次有翻译需求时,可以立即对第一悬浮球控件进行操作,从而显示悬浮窗,展示翻译结果 内容。减少了对用户的干扰,又方便用户迅速获取翻译结果内容,提高了用户体验。
第二方面,本申请实施例提供一种电子设备,电子设备包括用于存储计算机程序指令的存 储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子 设备执行第一方面任一项的方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实 现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一 方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计 算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项的方法。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实 现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一 方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当 其在计算机上运行时,使得计算机执行第一方面任一项的方法。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实 现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一 方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的 存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单 地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人 员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的电子设备示意图;
图2A为本申请实施例提供的电子设备的软件结构框图;
图2B为本申请实施例提供的电子设备的窗口管理器的软件结构框图;
图3A为本申请实施例提供的一种应用程序界面示意图;
图3B为本申请实施例提供的一种翻译界面触发示意图;
图4A为本申请实施例提供的一种翻译界面悬浮球示意图;
图4B为本申请实施例提供的一种翻译界面悬浮球示意图;
图5A为本申请实施例提供的一种连续复制场景下悬浮窗状态变化示意图;
图5B为本申请实施例提供的一种连续复制场景下悬浮窗状态变化示意图;
图6为本申请实施例提供的一种非模态悬浮窗状态变化示意图;
图7为本申请实施例提供的一种翻转状态下非模态悬浮窗状态变化示意图;
图8为本申请实施例提供的一种悬浮窗消失示意图;
图9为本申请实施例提供的一种悬浮球消失示意图;
图10A为本申请实施例提供的一种悬浮窗消失界面示意图;
图10B为本申请实施例提供的一种悬浮窗消失界面示意图;
图10C为本申请实施例提供的一种悬浮窗消失界面示意图;
图11A为本申请实施例提供的一种翻转状态下悬浮窗消失界面示意图;
图11B为本申请实施例提供的一种翻转状态下悬浮窗消失界面示意图;
图12为本申请实施例提供的一种悬浮窗消失逻辑实现时序图;
图13为本申请实施例提供的一种悬浮窗消失逻辑实现时序图;
图14为本申请实施例提供的一种悬浮窗状态下显示输入法示意图;
图15为本申请实施例提供的一种悬浮窗状态下显示输入法逻辑实现时序图;
图16为本申请实施例提供的一种悬浮窗状态下显示系统弹框示意图;
图17为本申请实施例提供的一种悬浮窗状态下显示系统弹框逻辑实现时序图;
图18为本申请实施例提供的一种悬浮窗状态下显示应用弹框示意图;
图19为本申请实施例提供的一种悬浮窗状态下显示应用弹框逻辑实现时序图;
图20为本申请实施例提供的另一种翻译界面触发示意图;
图21为本申请实施例提供的另一种翻译界面触发示意图;
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申 请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例, 都属于本申请保护的范围。在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的, 而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、 “所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。应当理解,本文中 使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如, 甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文 中字符“/”,一般表示前后关联对象是一种“或”的关系。还应当理解,当在本申请说明书和 所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组 件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的 存在或添加。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第 三”、“第四”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
用户在阅读外文文献时,例如利用阅读应用浏览英文文献时,遇到查阅外文文献中生词的 需求,用户通常会诉诸电子设备(以下以“手机”为例)中已经安装的翻译应用。
如果当前应用本身支持在应用内的翻译功能,例如目前市面上的聊天类应用,可以选中需 要翻译的聊天内容,在点击或长按该文本后,选中“翻译”按钮,实时显示该聊天内容的翻译 结果。通常,该翻译结果会呈现在该聊天内容附近。当用户需要再次翻译聊天内容时,需要重 复上述操作以显示翻译结果。
如果当前应用本身不支持在应用内的翻译功能,例如阅读应用,用户需要复制或者记忆需 要翻译的文本,例如某个英文单词,然后切换出当前应用,打开翻译应用,将该英文单词粘贴 或手动输入至输入框,点击翻译按钮后,显示翻译结果,从而完成翻译操作。显然,上述操作 方式步骤繁琐,致翻译效率低下,影响用户体验。
进而,一种改进方式是通过阅读应用或浏览器插件或翻译软件提供的插件,实现屏幕取词 进行文本翻译,即通过在后台打开该阅读应用或浏览器插件或翻译软件提供的插件,在用户选 中需要翻译的文本时,实现即时的翻译结果,无需打开翻译网页或者翻译软件。然而,上述方 式仍需要用户额外安装插件才能实现,增加了用户使用的门槛。另外,在电子设备例如手机中, 受限于手机系统底层的控制逻辑,较难实现。
进而,另一种改进方式是通过翻译应用主动监控系统的剪切板内容,从而在用户从当前阅 读应用切换到翻译应用时,翻译应用可以自动获取剪切板的内容并显示该内容的翻译结果,免 去了手动输入的麻烦。然而,上述操作方式仍然需要用户离开当前应用并切换到翻译应用才能 获取翻译结果,使得操作方式较为繁琐,降低了翻译的效率。
由此,无论当前应用本身支持在应用内的翻译功能,或者当前应用本身不支持在应用内的 翻译功能而需要切换至翻译应用显示翻译结果,上述方式都是在应用级的翻译,也就是说,前 者是集成在某个应用内部的翻译插件,后者是完整的独立的翻译应用,皆不涉及利用手机系统 底层的功能实现翻译,例如基于安卓系统为底层打磨的手机系统级别实现的翻译。
基于此,本申请实施例提供一种翻译方法及电子设备,通过在手机系统底层的改进,以提 高用户体验。
参见图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的效果,即显示内容及基于用户在悬浮 球及悬浮窗滑动的操作,需要额外在系统窗口内部设置滑动操作、滑动冲突等,以及根据用户 的点击等操作,判断响应窗口的焦点等。具体根据以下内容的表述展开而更加清晰。
本申请的一种实施方式中,以执行翻译为例。示例性的,电子设备(以“手机”为例)中 系统设置的默认语言是简体中文。示例性的,在一些实施方式中,在手机的设置界面中设置有 例如“复制触发翻译”的选项开关,当用户选择开启该功能后,当用户复制非系统默认语言的 文字时,会触发本申请实施方式中的翻译功能,显示翻译结果。其中,该翻译结果可以是翻译 原文(如复制文本)和/或翻译译文。如此,手机可以根据识别出的执行翻译的意图直接呈现 翻译结果,从而可以快速满足用户执行翻译的意图。示例性的,在另一些实施方式中,手机的 设置界面中无需设置有例如“复制触发翻译”的选项开关,手机会根据用户复制文字的操作判 断用户可能的意图,例如添加日程、添加备忘录、分享到应用、添加收藏、添加到词典和打开 地图导航等意图中一项或多项,本申请的实施方式中对用户复制文字后手机判断的可能的用户 意图的种类不做限定。
参考图3A所示,示例性的,以阅读应用为例,打开该阅读应用后,当前页面显示“专利审 查指南(英文版)”的字样。
参考图3B所示,示例性的,将图3A中的页面,即标注有“专利审查指南(英文版)”的字样的页面往后翻页,即可以看到如图3B(a)中的页面。也就是说,在图3B(a)中的页面, 操作“返回”键后,图3B(a)中的页面将回到如图3A的页面,二者是在页数上相互连接的 前后页面。图3B(a)中,在需要翻译的场景下,用户选中“patent”这个单词,系统弹出选 项栏301,该选项栏301至少包括例如“复制”的操作选项。手机在监听到剪切板中的内容变 化后,则会触发识别用户复制文本的意图。应理解,在用户执行对文本的复制操作后,复制的文本则会被存入剪切板中,从而剪切板中的内容会发生变化。因此,剪切板中的内容变化后, 也即用户输入复制操作后。用户点击“复制”选项后,手机试图识别用户复制文字后的意图, 因而弹出如图3B(b)中所示的悬浮球标识302,用于指示手机正在识别用户的意图。例如, 手机可根据复制文本的文本内容、用户画像等数据识别出意图。在识别过程中,无需用户的操 作,即无需用户点击如图3B(b)中页面的任何内容,便可以识别用户的意图。当系统识别出 用户的意图是需要翻译“patent”这个单词时,显示如图3B(c)中的第一状态的悬浮球303, 该第一状态的悬浮球303用于向用户提供一个显示翻译结果的入口。响应于用户对悬浮球303 的点击或者触摸操作,在图3B(d)中显示悬浮窗304并在悬浮窗304内展示“patent”的翻 译结果。悬浮窗304显示的翻译结果包括用户复制的待查询的英文单词“patent”,以及该单 词的中文释义的翻译结果,即“专利”。悬浮窗304显示的界面还包括语音朗读、复制翻译结 果的文本、翻译语种切换等。示例性的,悬浮窗304显示的初始状态,即由用户点击悬浮球 303后显示的默认形态为半屏态,大小约占据一半的手机屏幕。示例性的,由于悬浮窗304的 显示,则取消显示悬浮球303,以达到更好的用户体验。
需要说明的是,悬浮球303与悬浮窗304是安卓移动端的两种不同类型的窗口。悬浮是相 对的,例如上层元素就可以称之为“悬浮”元素,比如导航栏、标签栏相对于下层的内容区就 是悬浮。在本申请的实施方式中,悬浮球303被设定为链接至悬浮窗304的入口,引导用户在 需要显示翻译结果的场景,点击悬浮球303即可在悬浮窗304呈现翻译结果。悬浮窗304被设 定为显示翻译结果的内容呈现窗口。
需要说明的是,本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,无法设置于应用 窗口中。另外,由于安卓对于悬浮球及悬浮窗管控较为严格,因而,弹出自定义系统级窗口需 要动态申请权限。
其中,当手机中系统设置的默认语言是简体中文时,手机识别用户复制文本的语言不是手 机当前的系统语言(即手机设置的默认语言),则可以识别出用户的意图包括执行翻译。例如, 当用户复制的文本的语言为例如英文、日文、法文等除简体中文之外的语言时,手机会识别用 户的翻译意图,从而显示悬浮球标识302及悬浮球303等。通常而言,手机设置的默认语言是 用户熟悉的语言,无需对其进行翻译。
其中,如上所述,手机复制的文本是否触发执行翻译与系统设置的默认语言及复制文本的 语言有关。手机识别用户复制文本的语言不是手机当前的系统语言(即手机设置的默认语言), 则可以识别出用户的意图包括执行翻译。具体而言,示例性的,当手机中系统设置的默认语言 是简体中文时,可以包括如下组合:
第一种组合:复制的文本同时包括系统语言及非系统语言文本。例如当复制的文本中同时 包括中文及法文时,由于手机识别到复制的文本中包括非中文的法文文本,因而,用户复制文 本后,仍然会触发执行翻译的操作,即显示弹出如图3B(b)中所示的悬浮球标识302并在一 段时间后自动显示如图3B(c)中的第一状态的悬浮球303。
第二种组合:复制的文本为应用程序本身设置的非系统语言的文本。例如当前应用设置的 应用语言为英文时,当用户复制该应用中的英文文本时,由于手机识别到复制的文本中包括非 中文的文本,因而,用户复制文本后,仍然会触发执行翻译的操作,即显示弹出如图3B(b) 中所示的悬浮球标识302并在一段时间后自动显示如图3B(c)中的第一状态的悬浮球303。
第三种组合:复制的文本为用户输入的非系统语言的文本。例如在聊天应用或备忘录等用 户可以手动输入文本的应用中,用户选中并复制一段用户输入的英文文本,由于手机识别到复 制的文本中包括非中文的文本,因而,用户复制文本后,仍然会触发执行翻译的操作,即显示 弹出如图3B(b)中所示的悬浮球标识302并在一段时间后自动显示如图3B(c)中的第一状 态的悬浮球303。
在本申请的一些实施方式中,手机还需要识别出复制文本的语言是预设语言,其中,预设 语言是指手机系统或者手机上的翻译应用支持翻译的语言,才可以识别出用户的意图包括执行 翻译。若手机根本不支持翻译复制文本的语言,则无法得到翻译结果,针对该情况,则将识别 为不存在执行翻译的意图。
在本申请的另一些实施方式中,手机还需要识别出复制文本需要满足一定的文本类型。示 例性的,即不是网址链接、邮箱或者利用机器生成的口令(如淘宝口令)等具有特定含义的字 符串,才可以识别出用户的意图包括执行翻译。上述这些具有特定含义的字符串,通常只是标 识符,例如,用于区别不同的网页、不同的邮箱、不同的淘宝商品等,并不具备语言上的含义。 因此,不存在翻译的需求。
在本申请的另一些实施方式中,手机还需要识别出当前复制文本的来源应用需要满足一定 的应用类型。示例性的,即该应用不是翻译应用等单独的专业性翻译应用,或者不是淘宝、抖 音等购物娱乐类应用,才可以识别出用户的意图包括执行翻译。例如,当用户在淘宝应用中复 制非系统默认语言的文字时,手机判定用户此时不存在翻译需求,因而在用户复制文本后,不 会显示悬浮球标识302及悬浮球303。同样的,当用户在专业的翻译软件,例如有道翻译中复 制非系统默认语言的文字时,手机判定用户此时不存在翻译需求,因而在用户复制文本后,不 会显示悬浮球标识302及悬浮球303。
示例性的,判断是否满足翻译条件,包括:1)判断复制的文本中是否包含手机当前的非 系统语言;2)判断复制的文本中包含的非系统语言是否为手机系统支持的预设语言;3)
判断复制的文本是否符合一定的文本类型;4)判断复制的文本的来源应用是否满足一定 的应用类型。需要说明的是,以上罗列的判断条件1)2)3)4)可以同时满足,也可以满足 其中的任何一种或多种,本申请的实施方式在此不做限定。
需要说明的是,本申请的实施方式中对于手机使用何种方式对用户的操作进行意图识别不 做限定。例如手机可以根据当前的应用类型、用户复制的文本类型以及当前应用显示的上下文, 判断用户复制文字后的翻译意图等。又例如,手机可以通过使用自然语言处理(Natural Language Processing,NLP)对用户的行为习惯、使用APP的情况等进行综合分析和预测。
需要说明的是,在本申请实施方式中,主要以复制操作为例,来触发手机识别意图。但是 实际实施时,并不以此为限。例如,也可以以对文本的选中操作、长按操作、划线操作、双击 操作等操作触发手机识别意图。
参考图4A所示,若用户在图4A(a)中,在预设时间内未对第一状态的悬浮球401,即上 述图3B(c)中的悬浮球303,触发任何点击或者触摸操作,判断用户此时不需要执行翻译操作, 则悬浮球401将呈现第二状态,即图4A(b)中第二状态的悬浮球402,以提高用户体验。预 设时间以秒为单位的较短时间,具体多少时间,本申请在此不做限定。此时,用户的复制行为 将被判定为正常的复制文本行为,而不会显示如图4A(a)中的第一状态的悬浮球401。也就 是说,此时用户的复制行为不会触发执行翻译的操作。例如,若用户在图4A(c)中选中一个 单词,例如“law”,点击“复制”后,由于手机判断用户此时不需要执行翻译操作,手机不会 显示如图4A(a)中的第一状态的悬浮球401,继续显示第二状态的悬浮球402,即图4A(d)。 也就是说,尽管在图4A中,用户复制了单词“law”,此时由于处于第二状态的悬浮球的状态 下,判断用户不需要执行翻译操作,因而,在用户触发复制单词“law”操作时,不会请求翻 译结果,手机执行安卓系统本身的复制操作。
需要说明的是,用户在图3B中选中的单词是“patent”,在图4A中选中的单词是“law”, 显然,用户选中的单词不同,也就是说,用户意图执行翻译的单词不同。
示例性的,由于手机的剪切板默认保存最近一次复制的单词,因而在图4A(c)中,若用 户选中单词例如“law”,点击“复制”后,再点击悬浮球402,由于判断用户需要执行翻译的 意图,因而会显示如图3B(d)中的悬浮窗,但是翻译的单词由原先的“patent”变成了用户 最新复制的“law”,并在悬浮窗显示“law”的翻译结果。也就是说,由于手机的剪切板默认 保存最近一次复制的单词,因而,在悬浮球402状态下,若用户点击悬浮球402执行翻译操作, 悬浮窗会显示用户在点击悬浮球402前最近一次剪切板保存的文本的相应翻译结果。
其中,第一状态的悬浮球被设定为用于向用户提供一个显示翻译结果的入口。当用户点击 或触摸第一状态的悬浮球后,显示具有翻译结果的悬浮窗。可选的,在显示悬浮窗后,第一状 态的悬浮球消失或者继续保持显示,本申请在此不做限定。
其中,第二状态的悬浮球被设定为在预设时间内用户未对第一状态的悬浮球触发任何点击 或者触摸操作后,显示第二状态的悬浮球。此时,判断用户不需要执行翻译操作。因而,在用 户触发复制操作时,用户的复制行为将被判定为正常的复制文本行为,继续显示第二状态的悬 浮球。
示例性的,第一悬浮球控件对应于第二状态的悬浮球,第二悬浮球控件对应于第一状态的 悬浮球。
结合图4B所示,图4B(a)中用户的预设时间内未对第一状态的悬浮球401触发任何点 击或者触摸操作,显示图4B(b)中第二状态的悬浮球402。若用户需要在第二状态的悬浮球 显示的状态下执行翻译的操作,如图4B(c)所示,用户需要触发点击或者触摸第二状态的悬 浮球402的操作。由于此时手机已缓存有图3B中用户选择的“patent”单词的翻译结果,且 由于手机的剪切板默认保存最近一次复制的单词并没有检测到剪切板内容发生变化,因而在用 户触发点击或者触摸第二状态的悬浮球402的操作后,显示悬浮窗404,呈现“patent”单词 的翻译结果。
以下参考图5A及图5B描述本申请实施方式中用户连续复制的场景。示例性的,以下描述 也将展开描述本申请实施方式中不抢占焦点的非模态的悬浮窗的实现方式。
结合图5A所示,图5A(a)中悬浮窗501呈现半屏态。图5A(b)中,悬浮窗外区域502为手机屏幕中除了悬浮窗501之外的区域。如前文所述,由于本申请实施方式中的悬浮窗不抢 占当前应用的焦点,用户仍然能够滑动当前应用的原文,因而,当悬浮窗外区域502检测到用 户的触摸或点击操作时,判断用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗显示 如图5A(c)中的底部态,从而用户可以浏览当前应用的原文。当用户需要继续翻译新的单词 时,如图5A(d)所示,用户选中单词“development”后,弹出选项栏504,该选项栏504 至少包括例如“复制”的操作选项。手机在监听到剪切板中的内容变化后,则会触发识别用户 复制文本的意图。应理解,在用户执行对文本的复制操作后,复制的文本则会被存入剪切板中, 从而剪切板中的内容会发生变化。因此,剪切板中的内容变化后,也即用户输入复制操作后。 用户点击“复制”选项后,手机试图识别用户复制文字后的意图,因而弹出如图5A(e)所示 的半屏态悬浮窗505,展示“development”的翻译结果。悬浮窗505显示的翻译结果包括用 户复制的待查询的英文单词“development”以及该单词的中文释义的翻译结果,即“发展”。 悬浮窗505还显示其他额外的内容,其内容如图3B(d)中显示悬浮窗304显示的内容,在此 不再赘述。示例性的,悬浮窗505显示的初始状态为半屏态,大小约占据一半的手机屏幕。示 例性的,由于悬浮窗505的显示,可以同时显示悬浮球,也可以不显示悬浮球,以达到更好的 用户体验。
需要说明的是,图5A(b)中当悬浮窗外区域502检测到用户的触摸或点击操作时,判断 用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗显示如图5A(c)中的底部态,从 而用户可以浏览当前应用的原文。具体而言,通过监听用户在悬浮窗外区域502的触摸或点击 操作,从而触发了ACTION_OUTSIDE事件,从而中半屏态转而显示底部态,此过程与用户操作 当前应用的原文不冲突。
需要说明的是,图5A(b)中不抢占焦点的悬浮窗501也被成为非模态对话框,其优点在 于不抢占窗口的焦点,用户在使用本申请实施方式的悬浮窗时,通过触摸或点击悬浮窗外区域 即可将悬浮窗返回底部态,从而继续浏览当前应用的内容,提高用户的体验。也就是说,如果 图5A(b)中悬浮窗501的焦点没有如本申请实施方式中做过处理,即如果该悬浮窗是模态的 对话框,悬浮窗501将抢占当前阅读应用的焦点,用户必须关闭悬浮窗后,才能继续浏览阅读 应用的原文。如此,用户每完成一次翻译后,用户需要关闭翻译结果(第1步操作),再次选 中新的文本(第2步操作)并复制(第3步操作),而后再次点击翻译功能的快捷入口(第4 步操作)才能完成下一次翻译,即至少4步操作才能完成下一次翻译。从而导致连续翻译的过 程十分复杂。
模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执 行程序中其他任务,如单击确定、取消、关闭按钮等将该对话框关闭。
当非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。
如前文所述,在本申请实施方式中,悬浮窗的窗口属性被设置为FLAG_NOT_TOUCH_MODAL, 因而在此模式下,系统会将当前窗口区域以外的触摸/点击事件传递给底层的窗口,当前窗口 区域以内的单击事件则当前窗口处理。继续以图5A(b)为例,当手机检测到在悬浮窗外区域 502的触摸或点击事件时,将窗口传递给当前的阅读应用,进而用户可以继续浏览当前阅读应 用的页面。当手机检测到在悬浮窗区域501的触摸或点击事件时,则继续由悬浮窗501处理用 户的触摸或点击事件。
结合图5B所示,示例性的,在连续翻译的场景下,当悬浮窗501处于如图5B(a)半屏态时,用户仍然可以继续触发复制翻译操作。区别于上述图5A(a)至图5A(e)中的连续复 制场景下,当用户在图5A(d)中复制一个新的文本时,悬浮窗503呈现底部态。在图5B的 连续复制场景下,悬浮窗501始终处于半屏态。
当用户需要继续翻译新的单词时,如图5B(b)所示,用户选中单词“development”后, 弹出选项栏506,该选项栏506至少包括例如“复制”的操作选项,悬浮窗501保持半屏态。 手机在监听到剪切板中的内容变化后,则会触发识别用户复制文本的意图。应理解,在用户执 行对文本的复制操作后,复制的文本则会被存入剪切板中,从而剪切板中的内容会发生变化。 因此,剪切板中的内容变化后,也即用户输入复制操作后。用户点击“复制”选项后,手机试 图识别用户复制文字后的意图,因而展示如图5B(c)所示的半屏态悬浮窗507,展示 “development”的翻译结果。悬浮窗507展示的翻译结果内容与图5A(e)所示的半屏态悬 浮窗505一致,在此不再赘述。
应注意,上述描述仅说明了两次连续翻译的过程,若存在两次以上的连续翻译的需求,手 机可以重复执行图5A及图5B的过程,以完成两次以上的连续翻译。
如此,在一次翻译完成后,手机响应于用户对相同或不同文本的连续复制的操作,可以直 接触发另一次翻译。如悬浮窗为如图5A(d)中底部态,则将其显示至如图5A(e)的半屏态, 显示新的文本的翻译结果。如悬浮窗为如图5B(a)中半屏态,则直接在半屏态显示新的文本 的翻译结果。也就是说,相较于常规技术,本申请方案在多次连续翻译的过程中,只要悬浮窗 未被关闭,则在用户复制新的文本后,就可直接触发手机翻译该新的文本并显示翻译结果。而 无需用户在复制新的文本后再次手动触发翻译。从而可以提升连续翻译的快捷性。
结合图6所示,悬浮窗601呈现全屏态。悬浮窗外区域602为手机屏幕中除了悬浮窗601 之外的区域。如前文所述,由于本申请实施方式中的悬浮窗不抢占当前应用的焦点,用户仍然 能够滑动当前应用的原文,因而,当悬浮窗外区域602检测到用户的触摸或点击操作时,判断 用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗显示如图6(b)中的底部态,从 而用户可以浏览当前应用的原文。其实现方式如图5A(b),在此不再赘述。
参考图7所示,为手机屏幕在翻转状态,即横屏模式,的悬浮窗展示形态。不同于前述图1至图6的手机在竖屏状态悬浮窗具有底部态、半屏态及全屏态的3种呈现方式,示例性的, 在横屏模式下,悬浮窗具有图7(b)底部态及图7(a)全屏态两种呈现方式。
继续结合图7所示,为手机屏幕在翻转状态,即横屏模式,本申请实施方式中不抢占焦点 的非模态的悬浮窗。其实现方式如前文中图5A至图6的表述,在此不再赘述。
其中,横屏状态的悬浮窗也具备竖屏状态下悬浮窗如图5A至图6的非模态对话框,其也 可以实现如图5A至图6的连续复制,上述实现的具体描述同前述竖屏状态,在此不再赘述。
其中,悬浮窗外区域702为手机屏幕中除了悬浮窗之外的区域。示例性的,在横屏状态下, 其为竖屏状态下顶部的状态栏区域。如前文所述,由于本申请实施方式中的悬浮窗不抢占当前 应用的焦点,用户仍然能够滑动当前应用的原文,因而,当悬浮窗外区域702检测到用户的触 摸或点击操作时,判断用户此时的意图是浏览当前应用的原文而不是翻译,悬浮窗由图7(a) 的全屏态显示为如图7(b)中的底部态,从而用户可以浏览当前应用的原文。
可选的,在横屏状态下,悬浮窗在底部态和全屏态的横向最大宽度应不与竖屏状态下顶部 的状态栏区域重叠,即横屏状态下的悬浮窗的横向宽度可设计为不占满整个横屏状态下屏幕的 宽度,为用户预留状态栏区域的操作,以提高用户体验。
参考图8所示,图8(a)中,示例性的,悬浮窗呈现半屏态,当悬浮窗中的关闭按钮801 被触发时,即点击或触碰关闭按钮801,悬浮窗消失,应用程序的界面显示如图8(b)所示, 在当前页面显示悬浮球802,位于当前页面的一侧。示例性的,悬浮球802为第二状态的悬浮 球。此时,判断用户不需要执行翻译操作。因而,将悬浮窗802显示在当前界面的一侧,减少 对用户的干扰。
需要说明的是,图8仅以悬浮窗处于半屏态为例,可以理解的是,当悬浮窗处于底部态或 全屏态时,在关闭按钮801被触发时,同样会显示悬浮球802。
参考图9所示,示例性的,当用户需要彻底将图8(b)中的悬浮球消失时,示例性的,用户可以将悬浮球901由图9(a)状态,以图9(b)展示的方向,向电子设备的屏幕底部拖 动至垃圾桶902,随后,如图9(c)所示,悬浮球901消失。
以下展开描述本申请上述实施方式中提供悬浮窗被触发返回时的显示效果示例。由前文描 述可知,由于本申请实施方式中所涉及的悬浮球及悬浮窗为系统窗口,无法设置于应用窗口中, 其不属于任何一个应用,其由系统来创建,只属于系统本身。另外,应用程序中每个应用的界 面由一个个activity组成且任何activity都隶属于应用进程,因而在系统窗口设置的悬浮球 及悬浮窗没有固定容器处理返回逻辑,不具备activity的功能。为了获得悬浮球及悬浮窗可 以获得类似于应用窗口内的activity的效果,即基于用户在悬浮球及悬浮窗返回的操作,需 要额外在系统窗口内部设置返回逻辑等,以及根据用户的返回等操作,判断响应窗口的焦点等。
示例性的,本申请实施方式悬浮窗,根据占据屏幕的高度的不同,分为3种形态,即底部 态,半屏态及全屏态。底部态的悬浮窗位于当前应用的屏幕底部,不显示任何翻译结果内容, 有利于用户继续访问当前应用内的内容,以提高用户体验。半屏态的悬浮窗占据当前应用的屏 幕约一半左右的大小,显示部分翻译结果内容。半屏态的悬浮窗也可以示例性的作为默认的悬 浮窗形态,即当用户复制文本后显示的第一个形态的悬浮窗。全屏态的悬浮窗可以示例性的占 据整个当前应用的屏幕,其展开基于用户的拖动操作而展开,用于显示比半屏态悬浮窗更多的 翻译结果内容,以提高用户体验。
1)具体而言,悬浮球及悬浮窗由窗口管理器实现,悬浮窗底部态,半屏态及全屏态的形 态控制与切换由窗口管理器中的属性参数y控制,即控制不同形态悬浮窗的高度。
2)具体而言,本申请实施方式中的悬浮球及悬浮窗不抢占当前应用的焦点。例如图3B 中,用户复制文本时,焦点事件在当前阅读应用的原文上。当用户点击“复制”选项后,显示 悬浮球标识302并在一段时间后自动显示如图3B(c)中的第一状态的悬浮球303。此时,焦 点事件还是在当前应用的原文上,悬浮球不抢占焦点。当用户点击或者触摸悬浮球303后,在 图3B(d)中显示悬浮窗304,此时,用户仍然能够滑动当前应用的原文,悬浮窗不抢占焦点。
焦点窗口是指当前正在与用户交互的窗口,该窗口负责接收键事件和触摸事件。当启动新 的Activity、添加新的窗口、移除旧窗口、分屏来回操作时,都会涉及到焦点窗口的更新。 一般而言,一个窗口中一个时间内可以有一个具有焦点的窗口。也就是说,如果不对悬浮窗的 焦点控制做处理,在上述图3B(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)具体而言,本申请的实施方式提供了防误触的实现。当用户的手指触摸屏幕时,用户 的手指在触摸屏幕时是抖动的,因而需要区分用户的操作是滑动还是触摸或点击事件。
在安卓的架构中,应用窗口的activity本身具备防误触的功能,然而,由于本申请实施 方式中所涉及的悬浮球及悬浮窗为系统窗口,安卓的架构中没有提供相应的功能实现,因而, 为了在系统窗口实现类似于应用窗口内的activity的防误触效果,需要额外设计一套滑动逻 辑实现,具体包括:设定一个移动阈值,当用户手指触碰悬浮窗时,判断是否触发move事件。 即,如果用户手指在手机屏幕上的移动距离小于移动阈值,则判断此次操作为点击事件;如果 用户手指在手机屏幕上的移动距离超过移动阈值,则判断此次操作为滑动事件。
参考图10A至图13所示,用于示例性的展示本申请实施方式中的悬浮窗的返回效果以及 悬浮窗在3种不同形态时的不同处理逻辑。以下示例性的展开描述本申请的实现方式。
结合图10A所示,图10A(a)中,悬浮窗处于半屏态,当其被触发返回操作时,判断用户此时不需要执行翻译操作,在图10A(b)中显示悬浮球。悬浮球展示状态例如图4A(b)中第二状态的悬浮球402,以提高用户体验。此时,用户的复制行为将被判定为正常的复制文本 行为,而不会显示如图4A(a)中的第一状态的悬浮球401。也就是说,此时用户的复制行为 不会触发执行翻译的操作。
示例性的,返回操作包括例如用户从屏幕的左侧向右滑动,又例如触发屏幕中的虚拟返回 键,又例如触发手机的实体返回键。可以理解的是,返回操作包括任何可以在系统层面触发返 回逻辑的操作,本申请的实施方式在此不做限定。
结合图10B所示,图10B(a)中,悬浮窗处于全屏态,当其被触发返回操作时,判断用户此时不需要执行翻译操作,在图10B(b)中显示悬浮球。悬浮球展示状态例如图4A(b)中第二状态的悬浮球402,以提高用户体验。此时,用户的复制行为将被判定为正常的复制文本 行为,而不会显示如图4A(a)中的第一状态的悬浮球401。也就是说,此时用户的复制行为 不会触发执行翻译的操作。
结合图10C所示,图10C(a)中,悬浮窗处于底部态,当其被触发返回操作时,显示如图10C(b)中的界面。如前图3A及图3B(a)所述,示例性的,以阅读应用为例,将图3A 中的页面,即标注有“专利审查指南(英文版)”的字样的页面往后翻页,即可以看到如图3B (a)中的页面。也就是说,在图3B(a)中的页面,操作“返回”键后,图3B(a)中的页面 将回到如图3A的页面,二者是在页数上相互连接的前后页面。因而,当用户在悬浮窗处于底 部态时触发返回操作,当前页面返回当前页面的前一页,同时悬浮窗也会消失,也不会显示如 图4A(b)中第二状态的悬浮球402。原因在于,考虑到首先用户触发返回操作,判断用户此 时不需要执行翻译操作。同时,又由于此时悬浮窗已经处于底部态,也就是说,在悬浮窗处于 底部态时,用户已经可以在浏览原文,焦点也在当前应用的原文上,判断用户触发“返回”的 意图是回到当前页面的上一页。因而,在悬浮窗处于底部态,当其被触发返回操作时,将同时 触发当前页面返回当前页面的前一页并消失悬浮窗。
结合图11A所示,为电子设备在翻转状态下触发返回操作的实现,翻转状态例如横屏状态。 图11A(a)中,悬浮窗处于全屏态,当其被触发返回操作时,判断用户此时不需要执行翻译 操作,在图11A(b)中显示悬浮球。悬浮球展示状态例如图4A(b)中第二状态的悬浮球402, 以提高用户体验。此时,用户的复制行为将被判定为正常的复制文本行为,而不会显示如图 4A(a)中的第一状态的悬浮球401。也就是说,此时用户的复制行为不会触发执行翻译的操 作。
结合图11B所示,为电子设备在翻转状态下触发返回操作的实现,翻转状态例如横屏状态。 图11B(a)中,悬浮窗处于底部态,当其被触发返回操作时,显示如图11B(b)中的界面。 因而,翻转状态下,在悬浮窗处于底部态,当其被触发返回操作时,将同时触发当前页面返回 当前页面的前一页并消失悬浮窗,也不会显示如图4A(b)中第二状态的悬浮球402。其实现 方式同图10C,在此不再赘述。
需要说明的是,在用户触发的其他导致悬浮窗生命周期变更的场景下,例如切换应用、切 换至后台的应用列表、返回桌面或触发智能多窗时,悬浮窗也会消失,且当前应用程序的解码 不会显示如图4A(b)中第二状态的悬浮球402。
结合图12所示,为本申请实施例提供的一种悬浮窗消失逻辑实现时序图,包括图10A(a) 悬浮窗为半屏态时,图10B(a)悬浮窗为全屏态时以及图11A(a)悬浮窗为全屏态时,用户 触发返回操作时的实现逻辑。
S1201:业务呈现模块显示悬浮窗。
S1202:业务呈现模块通知窗口管理器显示当前焦点窗口为悬浮窗。
S1203:用户触发返回事件。
S1204:业务呈现模块检测悬浮窗的状态。
示例性的,悬浮窗的状态包括全屏态、半屏态及底部态。
S1205:业务呈现模块通知窗口管理器取消显示悬浮窗。
示例性的,当业务呈现模块判断悬浮窗当前的状态为半屏态或者全屏态时,通知窗口管理 器取消显示悬浮窗。
S1206:窗口管理器向业务呈现模块返回取消显示悬浮窗。
S1207:业务呈现模块取消显示悬浮窗。
示例性的,当业务呈现模块在应用程序的当前界面取消显示悬浮窗后,业务呈现模块通知 窗口管理器显示悬浮球,显示如图10A(b)、图10B(b)或图11A(b)的界面。
结合图13所示,为本申请实施例提供的一种悬浮窗消失逻辑实现时序图,包括图10C(a) 以及图11B(a)中悬浮窗为底部态时,用户触发返回操作时的实现逻辑。
S1301:业务呈现模块显示悬浮窗。
S1302:应用程序通知窗口管理器显示当前焦点窗口为应用程序。
S1303:用户在应用程序上触发返回事件。
示例性的,当悬浮窗处于底部态时,窗口焦点在应用程序上,用户在应用程序触发返回事 件时,由应用程序响应该事件。
S1304:应用程序通知窗口管理器返回应用程序的上一个窗口。
S1305:窗口管理器返回应用程序的上一个窗口。
S1306:窗口管理器通知业务呈现模块取消显示悬浮窗。
示例性的,由于返回事件是用户对应用程序的触发,一般而言,业务呈现模块并不会感知 到该事件。因而,需要额外设置监听应用程序返回的事件,并在监听到该事件后,通知业务呈 现模块取消显示悬浮窗。
示例性的,与上述图12中步骤S1205及S1206的区别在于,图12中,由于焦点在悬浮窗 上,因而由业务呈现模块通知窗口管理器取消显示悬浮窗。而在图13中,由于焦点在应用程 序上,悬浮窗并不占有焦点,因而在窗口管理器监听到应用程序返回的事件后,主动通知业务 呈现取消显示悬浮窗。具体而言,例如系统中存在跨进程通信,在检测到应用程序返回的事件 后,通知窗口管理器,并由窗口管理器通知业务呈现取消显示悬浮窗。
S1307:业务呈现模块取消显示悬浮窗。
示例性的,当用户在悬浮窗处于底部态时触发返回操作,当前页面返回当前页面的前一页, 同时悬浮窗也会消失,也不会显示如图4A(b)中第二状态的悬浮球402。
以下展开描述本申请上述实施方式中提供悬浮窗显示状态下被触发系统弹窗的显示效果 示例。示例性的,系统弹窗例如输入法等。
参考图14所示,示例性的,在图14(a)中,悬浮窗为1401半屏态,当用户在图14(b)中输入文本时,显示输入指针1403,应用程序的当前界面弹出输入法界,1402。如前所述,本申请实施方式中的悬浮窗为系统窗口,由于输入法也是系统窗口,因而在图14(b)出现输入法弹窗时,二者在同一个层级,即系统层级。输入法显示时,输入法和悬浮窗同时显示(图14(b)中未示出悬浮窗)。又如前所述,由于用户的输入文本操作,当前窗口的焦点在应用程序上,悬浮窗外区域检测到用户的触摸或点击操作,悬浮窗显示底部态,从而用户可以在显示 底部态悬浮窗的同时,在当前应用输入文本。具体而言,通过监听用户在悬浮窗外区域的触摸 或点击操作,从而触发了ACTION_OUTSIDE事件,从而半屏态转而显示底部态,此过程与用户 操作当前应用的原文不冲突。因此,在图14(b)中,由于输入法和悬浮窗属于系统窗口,属 于同一层级,因而输入法显示时,输入法和悬浮窗同时显示。又因为悬浮窗由于用户在悬浮窗 外区域的当前应用界面上的输入操作,焦点从悬浮窗转移到了应用程序,因而,悬浮窗在图 14(b)中显示底部态(图中未示出)。
示例性的,结合图14(c)所示,当输入法界面消失时,显示悬浮窗,并显示底部态1404。 如上所述,悬浮窗在如图14(b)中,由于用户在悬浮窗外区域的当前应用界面上的输入操作, 焦点从悬浮窗转移到了应用程序,悬浮窗显示底部态。
需要说明的是,图14(a)中不抢占焦点的悬浮窗1401也被成为非模态对话框,其优点 在于不抢占窗口的焦点,用户在使用本申请实施方式的悬浮窗时,通过触摸或点击悬浮窗外区 域即可将悬浮窗返回底部态,从而继续在当前应用输入文本,提高用户的体验。也就是说,如 果图14(a)中悬浮窗1401的焦点没有如本申请实施方式中做过处理,即如果该悬浮窗是模 态的对话框,悬浮窗1401将抢占当前阅读应用的焦点,用户必须关闭悬浮窗后,才能在当前 应用输入文本。如此,用户每完成一次翻译后,用户需要关闭翻译结果(第1步操作),再次 选中新的文本(第2步操作)并复制(第3步操作),而后再次点击翻译功能的快捷入口(第 4步操作)才能完成下一次翻译,即至少4步操作才能完成下一次翻译。从而导致连续翻译的 过程十分复杂。
示例性的,图14以悬浮窗为半屏态举例。可以理解的是,悬浮窗在全屏态及底部态时, 也可以实现上述效果。
结合图15所示,为本申请实施例提供的一种悬浮窗显示状态下被触发系统弹窗的逻辑实 现时序图。
S1501:业务呈现模块显示悬浮窗。
S1502:应用程序通知窗口管理器显示当前焦点窗口为应用程序。
S1503:用户在应用程序上触发输入法事件。
示例性的,当用户在应用程序触发输入法事件时,窗口焦点在应用程序,由应用程序响应 该事件。
S1504:应用程序通知窗口管理器显示输入法窗口。
S1505:窗口管理器显示输入法窗口。
S1506:窗口管理器通知业务呈现模块悬浮窗区域外的触摸事件。
S1507:业务呈现模块通知窗口管理器显示底部态悬浮窗。
S1508:窗口管理器通知业务呈现模块显示底部态悬浮窗。
S1509:业务呈现模块显示底部态悬浮窗。
S1510:用户向应用程序触发消失输入法事件。
S1511:应用程序通知窗口管理器取消显示输入法窗口。
S1512:窗口管理器取消显示输入法窗口。
以下展开描述本申请上述实施方式中提供悬浮窗显示状态下被触发系统弹窗的显示效果 示例。示例性的,系统弹窗例如电量提示框等。
参考图16所示,示例性的,在图16(a)中,悬浮窗为1601半屏态。图16(b)中,应 用程序的当前界面弹出电量提醒界面1602,如前所述,本申请实施方式中的悬浮窗为系统窗口,由于电量提醒界面也是系统窗口,二者在同一个层级,即系统层级。电量提醒界面1602显示时,如图16(b)所示,其与悬浮窗同时显示。用户在电量提醒界面1602操作关闭按钮1603时,关闭该电量提醒界面1602,如图16(c)所示,继续显示半屏态悬浮窗。
结合图17所示,为本申请实施例提供的一种悬浮窗显示状态下被触发系统弹窗的逻辑实 现时序图。
S1701:业务呈现模块显示悬浮窗。
S1702:应用程序通知窗口管理器显示当前焦点窗口为应用程序。
S1703:窗口管理器显示弹框。
示例性的,弹框为电量提示框。
S1704:窗口管理器通知业务呈现模块显示弹框。
S1705:业务呈现模块判断弹框类型为系统弹框。
S1706:业务呈现模块保持显示悬浮窗。
以下展开描述本申请上述实施方式中提供悬浮窗显示状态下被触发应用弹窗的显示效果 示例。示例性的,应用程序为备忘录,应用弹窗例如备忘录中的笔记分类标签等。
参考图18所示,示例性的,在图18(a)中,悬浮窗为1801半屏态,当前应用程序的当前界面显示有分类标签1802。当用户在当前应用程序界面触摸或点击该分类标签1802时,如 前所述,由于用户的触摸或点击该分类标签操作,当前窗口的焦点在应用程序上,悬浮窗外区 域检测到用户的触摸或点击操作,悬浮窗显示如图18(b)底部态1803。在图18(c)中,又 由于分类标签1802的展开为分类列表1804,悬浮窗1803消失。如前所述,本申请实施方式 中的悬浮窗为系统窗口,而备忘录中的分类列表1804为应用程序窗口中子窗口,其与系统窗 口无法同时显示,因而,当检测到用户对其进行操作时,悬浮窗消失。
结合图19所示,为本申请实施例提供的一种悬浮窗显示状态下被触发应用弹窗的逻辑实 现时序图。
S1901:业务呈现模块显示悬浮窗。
S1902:应用程序通知窗口管理器显示当前焦点窗口为应用程序。
S1903:应用程序通知窗口管理器触发应用程序外弹框事件。
示例性的,弹框为用户在当前应用程序界面触摸或点击该分类标签1802,并展开为分类 列表1804。
S1904:窗口管理器显示弹框。
S1905:窗口管理器通知业务呈现模块显示弹框。
S1906:业务呈现模块判断弹框类型为应用弹框。
S1907:业务呈现模块通知窗口管理器取消显示悬浮窗。
S1908:窗口管理器通知业务呈现模块取消显示悬浮窗。
S1909:业务呈现模块取消显示悬浮窗。
参考图20所示,为本申请的另一种实施方式,其实现方式与上述图1至图19的实现方式 一致,示例性的,区别包括:
第一,在图20(a)中,用户选中文本后,选项栏2001至少包括例如“翻译”的操作选项。而在前述图3B(a)中,选项栏301包括“复制”选项,其用于手机在监听到剪切板中的 内容变化后,则会触发识别用户复制文本的意图。在图20(a)中,由于“翻译”这个选项直 接说明用户需要翻译文本的意图,因而其可用于直接触发执行翻译的操作。
第二,在用户选择点击选项栏2001中“翻译”的选项后,手机直接显示悬浮窗2002。悬 浮窗2002与图3B(d)中显示的悬浮窗304相同,展示与其相同的翻译结果。可选的,悬浮窗的初始状态为半屏态,其也可以是底部态或全屏态。
第三,由于用户选择点击选项栏2001中“翻译”的选项后手机直接显示悬浮窗2002,因 而,在本申请该实施方式中,示例性的,不会显示例如图3B(b)中所示的悬浮球标识302、 如图3B(c)中的第一状态的悬浮球303以及如图4A(b)中第二状态的悬浮球402。
参考图21所示,为本申请的另一种实施方式,其实现方式与上述图1至图20的实现方式 一致。示例性的,图21的实施方式中,图21(a)中,选项栏2101同时包括“复制”及“翻译”选项,其区别于图3B(a)中,选项栏301包括“复制”选项,图20(a)中,选项栏2001 至少包括例如“翻译”的操作选项。因而,在本申请图21的实施方式中,同时具备图1至图 19及图20的实现方式,即用户既可以通过图1至图19的“复制”的实现方式触发执行翻译, 也可以通过图20的“翻译”的实现方式触发翻译。因而,用户可以灵活根据用户偏好选择二 者之中的一者或二者。
示例性的,以用户通过图1至图19“复制”的方式触发执行翻译为例。图21(a)所描述的是用户在执行图3B(a)的方式“复制”“patent”这个单词触发执行翻译,经过图3B(b)及图3B(c)的实现后,用户因未在预设时间点击悬浮球303,因而手机界面展示图4(b)的 界面。若用户此时需要执行翻译,例如用户需要翻译“development”这个单词,可选的,包 括如下方式:
第一,用户可以触摸或点击悬浮球2102以触发执行翻译,在图21(b)中的悬浮窗2103 中显示对应的翻译结果内容。应注意,悬浮球2102的实现方式对应于图4A的悬浮球402,悬 浮窗2103的实现方式同前述图1至图20;或者
第二,用户可以触摸或点击选项栏2101中“翻译”选项,在图21(b)中的悬浮窗2103中显示对应的翻译结果内容。应注意,“翻译”选项触发执行翻译的实现方式同图20,悬浮窗2103的实现方式同前述图1至图20。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的 技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围 应以所述权利要求的保护范围为准。

Claims (27)

1.一种翻译方法,包括电子设备及应用程序,其特征在于,包括:
显示所述应用程序的第一界面,所述第一界面包括第一文本及第一悬浮球控件;响应于用户对所述第一文本的第一操作,显示第一控件,所述第一控件包括复制选项;
响应于用户对所述复制选项的复制操作,所述第一文本被写入所述电子设备的剪切板,在所述复制操作后,响应于用户对所述第一悬浮球控件的第一悬浮球操作,在所述第一界面显示悬浮窗,其中,所述悬浮窗包括所述第一文本及所述第一文本对应的第一译文,所述悬浮窗显示第一状态;
响应于对所述第一界面的返回操作,所述悬浮窗消失,显示所述第一界面及所述第一悬浮球控件,其中,所述返回操作包括手势返回操作、触发虚拟返回键操作或触发实体返回键操作中的任意一种。
2.根据权利要求1所述的翻译方法,其特征在于:所述复制选项还可以被替换成剪切选项。
3.根据权利要求1所述的翻译方法,其特征在于:所述第一操作包括对所述第一文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种。
4.根据权利要求1所述的翻译方法,其特征在于:还包括在所述第一界面显示悬浮窗后,所述第一界面不显示所述第一悬浮球控件和/或所述第一控件。
5.根据权利要求1所述的翻译方法,其特征在于:所述悬浮窗的所述第一状态包括底部态、半屏态或全屏态中的任意一种。
6.根据权利要求5所述的翻译方法,其特征在于:还包括,当所述悬浮窗为底部态时,响应于对所述第一界面的返回操作,所述悬浮窗消失,所述第一悬浮球控件消失,显示进入所述第一界面前的界面。
7.根据权利要求1所述的翻译方法,其特征在于:还包括,响应于用户对所述第一悬浮球控件的第二悬浮球操作,在所述第一界面显示所述悬浮窗,所述悬浮窗为半屏态,响应于用户的输入操作,显示输入法界面,响应于用户的所述输入操作,所述悬浮窗显示为底部态。
8.根据权利要求7所述的翻译方法,其特征在于:响应于所述输入法界面的消失,显示所述悬浮窗,所述悬浮窗为底部态。
9.根据权利要求1所述的翻译方法,其特征在于:响应于用户对所述第一悬浮球控件的第三悬浮球操作,在所述第一界面显示所述悬浮窗,所述悬浮窗为半屏态,响应于所述第一界面显示系统弹框,所述悬浮窗保持显示所述半屏态。
10.根据权利要求9所述的翻译方法,其特征在于:响应于所述系统弹框的消失,所述悬浮窗保持显示所述半屏态。
11.根据权利要求1所述的翻译方法,其特征在于:所述第一界面还包括应用选项,响应于用户对所述第一悬浮球控件的第四悬浮球操作,在所述第一界面显示所述悬浮窗,所述悬浮窗为半屏态,响应于用户对所述应用选项的选项操作,所述悬浮窗消失,显示所述应用选项。
12.根据权利要求1所述的翻译方法,其特征在于:在显示所述悬浮窗后,所述第一界面还包括第一区域,所述第一区域为所述第一界面中除所述悬浮窗之外的区域。
13.根据权利要求12所述的翻译方法,其特征在于:响应于用户对所述第一区域的第二操作,所述悬浮窗显示第二状态,所述第二状态包括底部态、半屏态或全屏态中的任意一种,所述第二状态与所述第一状态相同或不同,所述第二操作包括对所述第一区域的触摸操作、点击操作、滑动操作或长按操作中的任意一种。
14.根据权利要求1所述的翻译方法,其特征在于:在显示包括所述第一悬浮球控件的所述应用程序的所述第一界面前,还包括:所述第一界面还包括第二文本,响应于用户对所述第二文本的第三操作,所述第一界面显示第二控件,其中,所述第三操作包括对所述第二文本的选中操作、触摸操作、点击操作、滑动操作、长按操作或双击操作中的任意一种,所述第二文本与所述第一文本相同或不同,所述第二文本不包括网址、邮箱或利用机器生成的口令,所述第二文本与所述电子设备的系统语言不同,所述第二控件中的选项包括复制选项或剪切选项。
15.根据权利要求14所述的翻译方法,其特征在于:响应于用户对所述第二控件的第四操作,所述第一界面显示第二悬浮球控件,所述第四操作包括对所述第二控件的所述复制选项的复制操作或对所述剪切选项的剪切操作中的任意一种。
16.根据权利要求15所述的翻译方法,其特征在于:还包括,响应于用户对所述第二悬浮球控件的第五操作,显示所述悬浮窗,所述悬浮窗包括所述第二文本及所述第二文本对应的第二译文,所述第七操作包括触摸操作、点击操作或长按操作中的任意一种。
17.根据权利要求15所述的翻译方法,其特征在于:还包括,在显示所述第二悬浮球控件前,显示悬浮球标识,且在第一预设时间后,所述悬浮球标识消失,显示所述第二悬浮球控件。
18.根据权利要求17所述的翻译方法,其特征在于:所述悬浮球标识用于判断所述第四操作满足翻译条件,所述翻译条件包括所述第二文本的语言类型、所述第二文本的内容或所述应用程序的类型中的任意一者或多者。
19.根据权利要求15所述的翻译方法,其特征在于:所述第二悬浮球控件与所述第一悬浮球控件在所述应用程序的所述第一界面显示在所述电子设备的所述第一界面的相同的一侧,二者所述相同一侧显示的位置相同或不同。
20.根据权利要求15所述的翻译方法,其特征在于:还包括,判断在第二预设时间内未检测到用户对所述第二悬浮球控件的触摸操作、点击操作、滑动操作或长按操作中的任意一种,取消显示所述第二悬浮球控件,显示所述第一悬浮球控件。
21.根据权利要求1-20中任一项所述的翻译方法,其特征在于:所述悬浮窗为系统窗口,所述系统窗口与所述应用程序的应用窗口不同。
22.根据权利要求1-20中任一项所述的翻译方法,其特征在于:所述悬浮窗为非模态对话框,当所述第一界面显示所述悬浮窗时,所述第一界面或所述悬浮窗中的任意一者是可滑动的。
23.根据权利要求1-20中任一项所述的翻译方法,其特征在于:所述悬浮窗的窗口属性被设置为包括FLAG_NOT_TOUCH_MODAL,所述悬浮窗不与所述应用程序的所述第一界面抢占窗口焦点,包括:
当所述第一界面显示所述悬浮窗时,若所述第一界面被滑动,所述悬浮窗不消失,响应于所述悬浮窗被滑动,所述第一界面不消失;
若所述悬浮窗被滑动,所述第一界面不消失,响应于所述第一界面被滑动,所述悬浮窗不消失。
24.根据权利要求1-20中任一项所述的翻译方法,其特征在于:当所述悬浮窗被关闭时,所述第一界面显示所述第一悬浮球控件。
25.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行权利要求1-24中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-24中任一项所述的方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-24中任一项所述的方法。
CN202210023044.0A 2021-11-23 2022-01-10 翻译方法及电子设备 Pending CN116149530A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2021113970114 2021-11-23
CN202111397011 2021-11-23

Publications (1)

Publication Number Publication Date
CN116149530A true CN116149530A (zh) 2023-05-23

Family

ID=86353176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210023044.0A Pending CN116149530A (zh) 2021-11-23 2022-01-10 翻译方法及电子设备

Country Status (1)

Country Link
CN (1) CN116149530A (zh)

Similar Documents

Publication Publication Date Title
CN110249354B (zh) 使用通知指示的动画移动展现的通知帘
US20230082360A1 (en) Method of displaying applications on split-screen, storage medium and electric device
US10122839B1 (en) Techniques for enhancing content on a mobile device
US20160209907A1 (en) Method for performing power-saving mode in electronic device and electronic device therefor
US20110283226A1 (en) Window display management in a graphical user interface
WO2017059388A1 (en) Action suggestions for user-selected content
WO2023030030A9 (zh) 翻译方法及电子设备
US11455075B2 (en) Display method when application is exited and terminal
CN113805743A (zh) 切换显示窗口的方法和电子设备
CN114997186A (zh) 翻译控件的控制方法及电子设备
CN118276722A (zh) 窗口的显示方法和电子设备
WO2021244459A1 (zh) 一种输入方法及电子设备
CN107220377B (zh) 搜索方法、电子设备及计算机存储介质
CN115033153B (zh) 应用程序推荐方法及电子设备
WO2023131314A9 (zh) 窗口交互方法和电子设备
CN116149530A (zh) 翻译方法及电子设备
CN113934501B (zh) 翻译方法、装置、存储介质及电子设备
US11360579B2 (en) Capturing pen input by a pen-aware shell
CN115033318A (zh) 图像的文字识别方法、电子设备及存储介质
CN116126197A (zh) 应用程序推荐方法
CN116456020B (zh) 窗口交互方法、电子设备、存储介质和计算机程序产品
CN114461312A (zh) 切换应用及应用中任务的方法、电子设备
WO2023131312A1 (zh) 窗口交互方法和电子设备
CN116456019B (zh) 窗口交互方法、电子设备、计算机可读存储介质及程序产品
WO2023131313A1 (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