CN118151803A - 手势处理方法和电子设备 - Google Patents

手势处理方法和电子设备 Download PDF

Info

Publication number
CN118151803A
CN118151803A CN202410311135.3A CN202410311135A CN118151803A CN 118151803 A CN118151803 A CN 118151803A CN 202410311135 A CN202410311135 A CN 202410311135A CN 118151803 A CN118151803 A CN 118151803A
Authority
CN
China
Prior art keywords
view
handwriting
gesture
state
content
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
CN202410311135.3A
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 CN202410311135.3A priority Critical patent/CN118151803A/zh
Publication of CN118151803A publication Critical patent/CN118151803A/zh
Pending legal-status Critical Current

Links

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/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
    • 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/0485Scrolling or panning
    • 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供了一种手势处理方法和电子设备,该方法包括:显示第一应用的第一界面;接收用户在第一界面输入的第一手势;确定第一应用的运行状态,运行状态用于表征第一应用的功能的运行情况;根据运行状态,响应第一手势。该方法能够解决手势冲突问题,提高用户体验。

Description

手势处理方法和电子设备
本申请是申请号为202211467876.8,申请日为2022年11月22日,发明创造名称为“手势处理方法和电子设备”的发明专利申请的分案申请,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,具体涉及一种手势处理方法和电子设备。
背景技术
笔记应用程序(application,APP)是用户常用的APP。目前,笔记APP主要用于记录手写内容、文本内容和图片。为了提高用户体验,研发人员开始致力于扩展笔记APP的功能,例如,为笔记APP增加记录视频、音频、表格和图形交换格式(graphic interchangeformat,GIF)的动态图片等内容的功能。
但是,笔记APP功能的扩展,会导致触发不同功能的手势可能相同,因而出现了手势冲突问题。
发明内容
本申请提供了一种手势处理方法和电子设备,能够解决笔记APP的手势冲突问题。
第一方面,本申请提供一种手势处理方法,该方法由电子设备执行,该方法包括:显示第一应用的第一界面;接收用户在第一界面输入的第一手势;确定第一应用的运行状态,运行状态用于表征所述第一应用的功能的运行情况;根据运行状态,响应第一手势。
可选的,第一应用可以为用于记录内容的APP,例如笔记APP。第一界面可以为笔记的编辑界面。可选的,运行状态可以用于表征某一功能是否运行。运行状态可以包括一种功能的运行状态,也可以包括多种功能的运行状态。
该实现方式中,在接收到用户在第一界面中输入的第一手势时,确定第一应用的运行状态,基于运行状态响应第一手势。运行状态表征第一应用的功能的运行情况,因而能够反映用户对第一应用的应用场景,所以,根据运行状态响应手势,能够使手势的响应结果与用户的应用场景匹配,解决手势冲突问题,且能够提高手势响应的准确性,进而提高用户体验。
在一种可能的实现方式中,运行状态包括输入状态和流媒体状态中的至少一种,输入状态用于表征第一应用的手写输入功能的运行情况,流媒体状态用于表征第一应用播放流媒体功能的运行情况;输入状态为手写状态和非手写状态中的一种,流媒体状态为录音播放状态和非录音播放状态中的一种。
手写状态表征第一应用的手写输入功能运行中,非手写状态表征第一应用的手写输入功能未运行。录音播放状态表征第一应用的录音播放功能运行中,非录音播放状态表征第一应用的录音播放功能未运行。
可选的,在一些其他的实施例中,流媒体状态还可以包括视频播放状态、非视频播放状态。视频播放状态表征第一应用的视频播放功能运行中,非视频播放状态表征第一应用的视频播放功能未运行。
该实现方式中,输入状态和流媒体状态能够表征第一应用的手写输入功能和流媒体播放功能的运行情况。因而,根据输入状态和流媒体状态,能够确定出用户对第一应用的应用场景是否为手写输入场景或录音播放场景,进而能确定出对应的响应策略,解决手势冲突问题,提高手势响应的准确性,进而提高用户体验。
在一种可能的实现方式中,根据运行状态,响应第一手势之前,该方法还包括:识别第一手势的手势类型;手势类型为滑动手势、点击手势和长按手势中的一种;根据运行状态,响应第一手势,包括:根据运行状态和手势类型,响应第一手势。
第一应用的同一功能对应的应用场景下,不同的手势可能对应不同的响应结果。因而,该实现方式中,根据运行状态和手势类型,响应第一手势,能够将相同应用场景下不同手势对应的响应结果区分开来,进一步解决手势冲突问题,提高手势响应的准确性,进而提高用户体验。
在一种可能的实现方式中,根据运行状态和手势类型,响应第一手势,包括:若手势类型为滑动手势,且输入状态为非手写状态,则滚动第一界面。
该实现方式中,手势类型为滑动手势,且输入状态为非手写状态,可以确定用户对第一应用的具体应用场景为滑动滚动界面场景。因而,响应于第一手势,滚动第一界面。该实现方式能够准确识别滑动滚动界面的场景,将滚动界面场景下的滑动手势与手写状态下滑动手势准确区分开,解决滑动手势的冲突问题,从而准确响应第一手势,提高用户体验。
在一种可能的实现方式中,根据运行状态和手势类型,响应第一手势,包括:根据运行状态、第一手势的落点位置和手势类型,响应第一手势;落点位置是指第一手势对应的按下事件的位置。
该实现方式中,在响应第一手势时,加入了第一手势的落点位置。不同的落点位置,手势作用的对象可能不同,对应不同的应用场景,需要作出不同的响应。该实现方式中,根据运行状态、落点位置和手势类型,响应第一手势,能够将手势不同的对象对应的不同应用场景区分开来,从而准确作出手势响应,进一步解决手势冲突问题,提高用户体验。
在一种可能的实现方式中,根据运行状态、第一手势的落点位置和手势类型,响应第一手势,包括:若流媒体状态为录音播放状态,落点位置存在第一手写内容,第一手写内容存在对应的第一录音时长,且手势类型为点击手势或长按手势,则将第一手写内容按照预设方式显示,并根据第一录音时长跳转录音播放进度;
若流媒体状态为录音播放状态,输入状态为非手写状态,落点位置存在第一网页内容,第一网页内容存在对应的第二录音时长,且手势类型为点击手势,则将第一手写内容按照预设方式显示,并根据第二录音时长跳转录音播放进度。
该实现方式中,若流媒体状态为录音播放状态,落点位置存在第一手写内容,第一手写内容存在对应的第一录音时长,且手势类型为点击手势或长按手势,则可以确定用户对第一应用的具体应用场景为通过手写内容定位录音播放进度的场景。因而,响应于第一手势,将第一手写内容按照预设方式显示,并根据第一录音时长跳转录音播放进度。该实现方式能够准确识别通过手写内容定位录音播放进度的场景,准确对该场景下的手势进行响应,解决手势冲突问题,提高用户体验。
同时,该实现方式中,若流媒体状态为录音播放状态,输入状态为非手写状态,落点位置存在第一网页内容,第一网页内容存在对应的第二录音时长,且手势类型为点击手势,则可以确定用户对第一应用的具体应用场景为通过网页内容定位录音播放进度的场景。因而,响应于第一手势,将第一网页内容按照预设方式显示,并根据第二录音时长跳转录音播放进度。该实现方式能够准确识别通过网页内容定位录音播放进度的场景,准确对该场景下的手势进行响应,解决手势冲突问题,提高用户体验。
在一种可能的实现方式中,根据运行状态、第一手势的落点位置和手势类型,响应第一手势,包括:若输入状态为非手写状态,落点位置位于视频区域内,且手势类型为长按手势,则在第一界面中显示第一控件;视频区域用于显示视频及视频相关的内容,第一控件用于控制删除视频。
可选的,视频区域可以为视频摘录卡片的区域。视频区域可以用于显示视频摘录的首帧图像、视频摘录的播放控件、视频摘录对应的标签等内容。
该实现方式中,若输入状态为非手写状态,落点位置位于视频区域内,且手势类型为长按手势,则可以确定用户对第一应用的具体应用场景为长按视频区域的场景。因而,响应于第一手势,在第一界面中显示第一控件。该实现方式能够准确识别长按视频区域的场景,解决长按视频区域的场景和长按图片、长按文本内容等场景下的手势冲突问题,提高用户体验。
在一种可能的实现方式中,根据运行状态、第一手势的落点位置和手势类型,响应第一手势,包括:若输入状态为非手写状态,流媒体状态为非录音播放状态,落点位置存在第一图片,且手势类型为点击手势,则在第一界面中显示第一图片对应的原图;
若输入状态为非手写状态,落点位置存在第一图片,且手势类型为长按手势,则在第一界面中显示第二控件,第二控件用于选择对第一图片的处理方式。
该实现方式中,若输入状态为非手写状态,流媒体状态为非录音播放状态,落点位置存在第一图片,且手势类型为点击手势,则可以确定用户对第一应用的具体应用场景为操作图片场景,且手势为点击手势,即实际的应用场景为查看图片场景。因而,响应于第一手势,在第一界面中显示第一图片对应的原图。该实现方式能够准确识别查看图片场景,解决查看图片场景与通过网页内容定位录音播放进度的、进入文本编辑等场景下的点击手势冲突问题,提高用户体验。
同时,该实现方式中,若输入状态为非手写状态,落点位置存在第一图片,且手势类型为长按手势,则可以确定用户对第一应用的具体应用场景为长按图片场景。因而,响应于第一手势,在第一界面中显示第二控件。该实现方式能够准确识别长按图片场景,解决长按图片场景与长按视频区域、长按文本内容等场景下的手势冲突问题,提高用户体验。
在一种可能的实现方式中,根据运行状态、第一手势的落点位置和手势类型,响应第一手势,包括:若输入状态为非手写状态,流媒体状态为录音播放状态,落点位置存在第一文本内容,且手势类型为长按手势,则在第一界面中显示第一提示信息,第一提示信息用于提示暂停录音播放;
若输入状态为非手写状态,流媒体状态为非录音播放状态,落点位置存在第一文本内容,且手势类型为长按手势,则在第一界面中显示第三控件,第三控件用于选择对第一文本内容的处理方式。
该实现方式中,若输入状态为非手写状态,流媒体状态为录音播放状态,落点位置存在第一文本内容,且手势类型为长按手势,则可以确定用户对第一应用的具体应用场景为录音播放状态下长按文本内容的场景。因而,响应于第一手势,在第一界面中显示第一提示信息。该实现方式能够准确识别长按文本内容场景,解决长按文本内容场景与长按视频区域、长按图片等场景下的手势冲突问题。而且,该实现方式还识别流媒体状态,从而将录音播放状态和非录音播放状态下的长按文本内容场景进行区分,解决长按文本内容场景下的手势冲突问题,提高用户体验。
在一种可能的实现方式中,根据运行状态、第一手势的落点位置和手势类型,响应第一手势,包括:
若输入状态为非手写状态,流媒体状态为非录音播放状态,落点位置存在预设对象,且手势类型为点击手势,则执行预设对象的功能,且在第一界面中显示预设对象的功能对应的界面;预设对象为预设控件或预设格式的内容中的一种。
可选的,预设控件例如可以为***PDF文件控件、清单条目标记控件等。预设格式的内容例如包括网页链接、邮箱、电话号码等。
该实现方式中,若输入状态为非手写状态,流媒体状态为非录音播放状态,落点位置存在预设对象,且手势类型为点击手势,则可以确定用户对第一应用的具体应用场景为点击预设对象场景。因而,响应于第一手势,执行预设对象的功能,且在第一界面中显示预设对象的功能对应的界面。该实现方式能够准确识别点击预设对象场景,将预设对象场景下的点击手势与查看图片、进入文本编辑等场景下的点击手势准确区分开,解决点击手势的冲突问题,从而准确响应第一手势,提高用户体验。
在一种可能的实现方式中,根据运行状态和手势类型,响应第一手势,包括:根据运行状态、第一手势的落点位置、第一手势的手势输入方式和手势类型,响应第一手势。
该实现方式中,在响应第一手势时,加入了第一手势的手势输入方式。可选的,手势输入方式可以包括手指输入和手写笔输入。
一些实施例中,笔记APP还可以具有下述功能:在非手写状态下,通过手写笔输入点击手势,笔记APP自动将输入状态切换至手写状态。因而,对于点击手势,结合手势输入方式,能够将该“手写笔输入点击手势”场景与其他场景区分开,从而准确作出手势响应,进一步解决手势冲突问题,提高用户体验。
在一种可能的实现方式中,根据运行状态、第一手势的落点位置、第一手势的手势输入方式和手势类型,响应第一手势,包括:若输入状态为非手写状态,手势输入方式为手写笔输入,落点位置不存在预设对象,且手势类型为点击手势,则切换输入状态为手写状态,并将第一手势对应的轨迹作为手写内容,显示于第一界面;预设对象为预设控件或预设格式的内容中的一种。
该实现方式中,若输入状态为非手写状态,手势输入方式为手写笔输入,落点位置不存在预设对象,且手势类型为点击手势,则可以确定用户对第一应用的具体应用场景为“手写笔输入点击手势”场景。因而,响应于第一手势,切换输入状态为手写状态,并将第一手势对应的轨迹作为手写内容,显示于第一界面。该实现方式能够准确识别“手写笔输入点击手势”场景,将该场景下的点击手势与查看图片、进入文本编辑等场景下的点击手势准确区分开,解决点击手势的冲突问题,从而准确响应第一手势,提高用户体验。
在一种可能的实现方式中,根据运行状态,响应第一手势,包括:若输入状态为手写状态,则将第一手势的轨迹作为手写内容显示于第一界面。
该实现方式中,只要确定输入状态为手写状态,即可确定用户对第一应用的具体应用场景为手写状态下输入手势的场景,将第一手势的轨迹作为手写内容显示于第一界面。该实现方式能够简单、直接识别手写状态下输入手势的场景,解决手写状态和非手写状态下点击手势、滑动手势和长按手势的冲突问题,提高用户体验。
在一种可能的实现方式中,第一界面包括:第一手写视图、第一网页视图和滚动视图,第一手写视图覆盖于第一网页视图的上层,滚动视图包裹第一手写视图和第一网页视图;第一手写视图用于显示手写内容,第一网页视图用于显示网页内容,滚动视图用于实现第一手写视图和第一网页视图的滚动。
可选的,第一手写视图和第一网页视图可以作为一个视图组,通过滚动视图包裹。
可选的,网页内容可以包括文本、静态图片、GIF动态图片、视频、音频等。
该实现方式中,第一界面包括第一手写视图和第一网页视图。第一手写视图覆盖于第一网页视图之上。第一手写视图中可以显示手写内容,第一网页视图中可以显示文本、静态图片、GIF动态图片、视频、音频等多种类型的内容。如此,实现了第一应用对多种内容的记录和显示,提高用户体验。而且,通过滚动视图包裹第一手写视图和第一网页视图,因而,通过滚动视图能够实现手写视图和网页视图的滚动,解决在网页视图和手写视图较高的情况下的界面滚动问题。
在一种可能的实现方式中,滚动视图位于电子设备屏幕中的预设区域,显示第一应用的第一界面,包括:响应于用户的第一操作,加载初始化网页视图和初始化手写视图,第一操作用于指示打开第一界面;获取所有网页内容和所有手写内容;所有网页内容为用于在预设区域内显示的所有的网页内容,所有手写内容为用于在预设区域内显示的所有的手写内容;向初始化网页视图渲染所有网页内容,且跟随渲染,扩充初始化网页视图,得到第二网页视图,第二网页视图中包括第一网页视图;将第一待显示内容写入初始化手写视图,得到第一手写视图,第一待显示内容为所有手写内容中,待显示于预设区域内以形成第一界面的手写内容;确定第二网页视图的高度;根据所有手写内容,计算第二手写视图的高度,第二手写视图为包括所有手写内容的手写视图;根据第二网页视图的高度和第二手写视图的高度,初始化滚动视图。
其中,第一待显示内容可以为具体实施方式中的待显示手写内容1。
可选的,第一应用为笔记APP的情况下,预设区域可以为内容编辑区域。
该实现方式中,在第一界面包括多层视图的情况下,实现了第一界面的初始化显示。其中,加载初始化网页视图之后,将所有网页内容一次性全部渲染,这样,在后续用户执行滚动界面操作时,直接对第二网页视图中相应区域进行显示,无需再进行渲染,减少界面滚动过程中的卡顿,提高用户体验。
而且,对于手写内容,并非全部写入,而是仅写入当前待显示的内容,其余手写内容在后续滚动界面时再写入。也即,手写内容随滚动界面逐步写入手写视图。由于手写内容的写入会消耗较多资源,该实现方式中提供的方法能够节约电子设备资源,提高设备运行效率。
在一种可能的实现方式中,该方法还包括:响应于用户滚动界面的操作,获取第二待显示内容,第二待显示内容为在第一手写视图的基础上,待增加显示于预设区域内以形成滚动后的界面的手写内容;根据第二待显示内容扩充第一手写视图的高度;将第二待显示内容写入扩充后的第一手写视图,得到第三手写视图;滚动第二网页视图和第三手写视图。
其中,第二待显示内容可以为具体实施方式中的待显示手写内容2。
该实现方式中,响应于用户滚动界面的操作,获取第二待显示内容并写入,即手写内容随滚动界面逐步写入手写视图,这样能够节约电子设备资源,提高设备运行效率。
在一种可能的实现方式中,该方法还包括:第一应用的输入状态为手写状态的情况下,接收用户输入的第二手写内容;根据第二手写内容的输入位置扩充第三手写视图,并将第二手写内容写入扩充后的第三手写视图,得到第四手写视图;响应于用户退出手写状态的操作,根据第四手写视图的高度确定目标视图高度;若目标视图高度大于或等于第二网页视图的高度,则在第二网页视图中渲染换行符,跟随渲染扩充第二网页视图的高度,得到第三网页视图;第三网页视图的高度等于目标视图高度。
该实现方式中,在用户退出手写状态时,在网页视图高度小于手写视图的高度的情况下,向网页视图中自动渲染换行符,实现对网页视图高度的自动扩充。这样,用户后续在网页视图中编辑网页内容时,光标可以直接显示于最近一次编辑的位置,从而能够接续前面的编辑内容继续编辑,方便用户使用,提高用户体验。
在一种可能的实现方式中,根据第四手写视图的高度确定目标视图高度,包括:若第四手写视图的高度为预设高度的整数倍,则将第四手写视图的高度确定为目标视图高度;若第四手写视图的高度不为预设高度的整数倍,则扩充第四手写视图的高度,得到第五手写视图,将第五手写视图的高度确定为目标视图高度;第五手写视图的高度为待选高度中的最小值,待选高度大于第四手写视图的高度,且为预设高度的整数倍。
可选的,预设高度可以为预设的一页手写视图的高度。在一个具体的实施例中,一页手写视图的高度可以为滚动视图的高度。手写视图的高度为预设高度的整数倍,也即手写视图为整数页手写视图。
该实现方式中,在手写视图不为整数页手写视图时,先将手写视图的高度扩充为整数页手写视图,再根据扩充后的手写视图扩充网页视图。这样,手写视图和网页视图均为整数页视图。整数页视图能够减少视图扩充次数,节约电子设备功耗。
在一种可能的实现方式中,根据第四手写视图的高度确定目标视图高度,包括:将第四手写视图的高度确定为目标视图高度。
该实现方式,不对手写视图进行是否整数页的判断,直接将当前手写视图作为最终手写视图。这样,用户的编辑位置显示于滚动视图的最底端,方便用户获知编辑的内容的最末尾位置,提高用户体验。
在一种可能的实现方式中,该方法还包括:响应于用户的第二操作,若第三手写视图的高度小于第二网页视图的高度,则扩充所述第三手写视图的高度,得到第六手写视图;第六手写视图的高度等于所述第二网页视图的高度;第二操作用于指示第一应用进入手写状态。
该实现方式中,在进入手写状态时,对当前手写视图的高度进行确认。在当前手写视图的高度小于当前网页视图的高度的情况下,将当前手写视图的高度扩充至当前网页视图的高度。这样,在进入手写状态时,自动将手写输入的编辑位置设置于最近一次编辑的位置处,无需用户手动滚动屏幕,提高用户体验。
在一种可能的实现方式中,第一应用包括界面模块、手写视图组件、网页视图组件、滚动视图组件、java脚本(java script,JS)界面渲染模块和存储模块。
手写视图组件用于实现手写视图的显示;网页视图组件用于实现网页视图的显示。JS界面渲染模块用于向网页视图渲染数据,以实现网页视图中网页内容的显示。滚动视图组件用于实现滚动视图的子视图的滚动。
一种可能的实现方式中,显示第一应用的第一界面,包括:
响应于用户的第一操作,界面模块向滚动视图组件发送第一加载指令。第一加载指令用于指示加载第一界面的视图。滚动视图组件响应于第一加载指令,向网页视图组件发送网页视图加载指令。网页视图加载指令用于指示加载第一网页视图。网页视图组件响应于网页视图加载指令,进行网页视图初始化,得到初始化网页视图。滚动视图组件向手写视图组件发送第一手写视图加载指令。第一手写视图加载指令用于指示加载第一手写视图。手写视图组件响应于第一手写视图加载指令,进行手写视图初始化,得到初始化手写视图。界面模块向存储模块查询预设区域对应的所有网页内容和所有手写内容。存储模块将预设区域对应的所有网页内容发送至界面模块。界面模块向JS界面渲染模块发送所有网页内容。JS界面渲染模块向初始化网页视图渲染所有网页内容。网页视图组件跟随渲染,扩充初始化网页视图的高度,得到第二网页视图。网页视图组件将第二网页视图的高度发送至滚动视图组件。界面模块向手写视图组件发送所有手写内容。手写视图组件读取所有手写内容到内存。手写视图组件根据所有手写内容确定第一待显示内容,将第一待显示内容写入初始化手写视图中,得到第一手写视图。手写视图组件根据所有手写内容计算第二手写视图的高度。手写视图组件将手写视图的高度发送至滚动视图组件。滚动视图组件根据第二网页视图的高度和第二手写视图的高度,初始化滚动视图。
在一种可能的实现方式中,该方法还包括:响应于用户滚动界面的操作,界面模块向滚动视图组件发送滚动指令。滚动视图组件响应于滚动指令,向手写视图组件发送第二手写视图加载指令。第二手写视图加载指令用于指示加载第三手写视图,第三手写视图包含第一手写视图中的手写内容以及第二待显示内容。手写视图组件响应于第二手写视图加载指令,扩充第一手写视图的高度,并向扩充后的第一手写视图中写入第二待显示内容,得到第三手写视图。滚动视图组件滚动第二网页视图和第三手写视图。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
在一个实施例中,该装置包括:显示模块、接收模块、确定模块和响应模块;
显示模块用于显示第一应用的第一界面;接收模块用于接收用户在第一界面输入的第一手势;确定模块用于确定第一应用的运行状态,运行状态用于表征第一应用的功能的运行情况;响应模块用于根据运行状态,响应第一手势。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例笔记编辑界面的结构示意图;
图2是本申请实施例提供的一例笔记的编辑界面的示意图;
图3是本申请实施例提供的一例电子设备100的结构示意图;
图4是本申请实施例提供的一例电子设备100的软件结构框图;
图5是本申请实施例提供的一例打开笔记的界面变化示意图;
图6是本申请实施例提供的一例界面显示方法的流程示意图;
图7是本申请实施例提供的另一例笔记编辑界面的结构示意图;
图8是本申请实施例提供的又一例笔记编辑界面的结构示意图;
图9是本申请实施例提供的一例通过内容定位录音播放进度的界面变化示意图;
图10是本申请实施例提供的一例非手写状态下通过手写笔输入手势的界面变化示意图;
图11是本申请实施例提供的一例手写状态下输入手势的界面变化示意图;
图12是本申请实施例提供的一例操作视频摘录卡片中内容的界面变化示意图;
图13是本申请实施例提供的一例操作图片的界面变化示意图;
图14是本申请实施例提供的一例操作预设控件的界面变化示意图;
图15是本申请实施例提供的一例操作预设格式的内容的界面变化示意图;
图16是本申请实施例提供的一例进入文本编辑的界面变化示意图;
图17-1是本申请实施例提供的一例手势处理方法的流程示意图;
图17-2是本申请实施例提供的另一例手势处理方法的流程示意图;
图18是本申请实施例提供的又一例手势处理方法的流程示意图;
图19是本申请实施例提供的另一例界面显示方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了便于理解,首先对申请实施例中涉及的术语及概念进行说明。
1、笔记编辑界面
笔记编辑界面也简称编辑界面,是指能够编辑笔记内容的界面。用户通过笔记APP打开一条笔记后所呈现的界面、用户编辑内容的过程中所呈现的界面,以及用户编辑并点击界面中保存控件保存内容后所呈现的界面,均称为笔记编辑界面。为了便于描述,本申请实施例中将用户打开一条笔记后未执行任何操作的界面称为初始编辑界面。
2、内容编辑区域
笔记编辑界面中包括内容编辑区域。内容编辑区域是指用于编辑和记录笔记内容的区域。本申请实施例中,内容编辑区域可以用于编辑和记录手写内容、文本内容、静态图片、视频、音频、GIF动态图片和表格等。
3、手写状态和非手写状态
本申请实施例中,笔记APP的输入状态可以分为手写状态和非手写状态。手写状态表征笔记APP的手写输入功能处于开启状态,用户能够通过手指或手写笔在内容编辑区域书写文字或绘制图形。非手写状态是指手写输入功能处于未开启状态,用户不能通过手指或手写笔在内容编辑区域书写文字或绘制图形。非手写输入状态下,可以通过软键盘在内容编辑区域键入文本内容,也可以通过***控件在内容编辑区域***图片、视频、音频或表格等内容。
4、手写内容和网页内容
手写内容是指在笔记APP处于手写状态时输入的内容。手写内容主要包括手写笔画。网页内容是指在笔记APP处于非手写状态时输入的内容。网页内容可以包括文本内容、图片、视频、音频和表格等。
5、手势的落点位置
可以理解,用户可以通过手指或手写笔向屏幕输入手势。一个手势对应一组(多个)触摸事件(touch event)。该组触摸事件中可以包括一个按下事件(down event)和一个抬起事件(up event)。可选的,该组触摸事件还可以包括至少一个移动事件(move event)。手势的落点位置是指手势对应的按下事件的位置。本申请实施例中,手势的落点位置也可以简称为落点位置。
目前,笔记APP主要用于记录手写内容、文本内容和图片。其中,图片为静态图片。但是,随着用户使用需求的增加,亟需对笔记APP的功能进行扩展,使笔记APP记录的内容多样化,例如,使笔记APP能够记录视频、音频、表格、GIF动态图片等等。其中,笔记APP记录的视频可以为摘录的视频片段,因而也称为视频摘录。
对于笔记APP功能的扩充,一方面需要为笔记APP增加新类型内容的获取入口,另一方面,需要考虑如何将各种类型的内容同时显示于界面,也就是如何将手写内容、文本内容、静态图片、视频、音频、GIF动态图片和表格等显示于笔记的编辑界面中。
针对第二方面的问题,本申请实施例提供一种界面显示方法,将用户输入的内容划分为手写内容和网页内容两种类型,手写内容通过手写视图(handwriting view)显示,网页内容通过网页视图(webview)显示。网页视图能够兼容多种类型的网页内容,解决了笔记编辑界面显示的问题。另外,还通过滚动视图(scrollview)包裹手写视图和网页视图,解决显示过程中的界面滚动问题。
示例性的,图1为本申请实施例提供的一例笔记编辑界面的结构示意图。如图1所示,本申请实施例中,笔记的编辑界面包括手写视图101、网页视图102和滚动视图103。其中,手写视图101覆盖于网页视图102的上层。手写视图101和网页视图102组成一个视图组(view group),该视图组作为滚动视图103的子视图,被滚动视图103包裹。可以理解,手写视图101和网页视图102为层状结构,因而在一些实施例中,手写视图也称为手写层,网页视图也称为网页视图层。滚动视图具有容器的作用,因而也称为滚动视图容器等。
需要说明的是,本申请中,各个名称仅作为举例,不作为限定。另外,为了便于区分,本申请的附图中,将手写视图示出为有填充的菱形或长方形,网页视图和滚动视图示出为无填充的菱形或长方形,后续不再赘述。
手写视图101用于显示手写内容。网页视图102用于显示网页内容。可选的,网页视图102可以用于显示通过超文本标记语言(hyper text markup language,HTML)编辑的内容,包括但不限于文本、静态图片、动态图片、音频、视频、表格等。可选的,HTML语言例如可以为第5代HTML(也称为HTML5.0,简称H5)语言。
滚动视图103用于实现其子视图的滚动等。本实施例中,滚动视图103用于实现手写视图101和网页视图102的滚动。可选的,滚动视图103可以设置于笔记编辑界面中的内容编辑区域。当然,滚动视图103也可以与笔记编辑界面中所有内容对应,也即滚动视图为笔记编辑界面的最外层视图,本申请实施例对此不作任何限定。以下实施例中以滚动视图设置于笔记编辑界面中的内容编辑区域为例进行说明。
示例性的,图2为本申请实施例提供的一例笔记编辑界面的示意图。某一条实际的笔记编辑界面可以如图2中的(a)图所示。其中,该界面中包括网页视图201和手写视图202。可以看出,该界面中网页视图201和手写视图202的高度较高,无法全部显示于屏幕。因而,可以通过滚动视图对这两个视图进行滚动。图2中的(b)图为用户可见的笔记编辑界面。如图2中的(b)图所示,屏幕边框为204,通过滚动视图203将网页视图201和手写视图202组成的视图组包裹,实际的笔记编辑界面中可见部分为处于滚动视图203内的部分。当用户需要查看视图组中其他部分时,执行滚动界面操作(例如滑动、或者拖动滚动条等),滚动视图203将网页视图201和手写视图202一起滚动,从而使其它部分可见,如图2中的(c)图所示。
通过以上方法能够实现多种笔记内容在界面中的显示,且能够实现视图的滚动。但是,视图结构的增多以及笔记功能的丰富,会导致在笔记内容编辑和查看等过程中,可能存在手势冲突问题。例如,一般的,触发界面滚动的手势为滑动手势,即用户通过手指或手写笔点击屏幕并滑动一定距离后抬起。而手写内容编辑过程中,用户手写内容时,也可能有滑动操作。这两个手势存在冲突。因此,按照上述方法实现界面显示时,还需要解决手势冲突问题。
有鉴于此,本申请实施例提供的方法还能够根据用户输入手势的信息和笔记APP相关功能的当前状态等,识别应用场景,进而根据手势和应用场景作出对应的响应,解决手势冲突问题,提高用户体验。
以下对本申请实施例提供的方法进行说明。首先对该方法所适用的电子设备进行介绍。
本申请实施例提供的手势处理方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可以安装应用程序的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图3是本申请实施例提供的一例电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,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,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
本申请实施例中,电子设备100的软件***可以为Android***,可以为Windows***,还可以为IOS***等,本申请对此不做任何限定。电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明电子设备100的软件结构。
图4是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括笔记APP。当然,应用程序包还可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序(图4中未示出)。
本实施例中,笔记APP可以包括用户界面(user interface,UI)层、逻辑控制层和应用内核层。其中,UI层可以包括界面模块。界面模块用于显示笔记APP运行过程中的界面,以及接收用户通过笔记界面输入的指令或信息。可选的,界面模块可以通过调用应用内核层和/或应用程序架构层的相关模块实现其功能。
逻辑控制层用于通过逻辑控制实现笔记的相关功能,例如,录音功能、录音播放功能、录音播放与内容显示的双向定位功能、视频摘录功能、视频摘录播放功能、视频摘录播放与标签显示的双向定位功能、文档***功能等等。以上功能将在后续实施例结合附图进行说明。
可选的,逻辑控制层可以包括录音与播放控制模块、摘录与播放控制模块等,本申请不一一列举。录音与播放控制模块用于控制应用程序架构层中的相关模块进行录音,还用于实现对录音的播放等。摘录与播放控制模块用于控制其他模块或APP录制视频摘录,还用于实现对视频摘录的播放等。在一个具体的实施例中,摘录与播放控制模块可以通过控制视频摘录APP录制视频摘录。
应用内核层可以包括滚动视图组件、手写视图组件、网页视图组件和java脚本(java script,JS)界面渲染模块和存储模块等。滚动视图组件用于实现滚动视图的子视图的滚动。手写视图组件用于实现手写视图的显示。网页视图组件用于实现网页视图的显示。JS界面渲染模块用于向网页视图渲染数据,以实现网页视图中网页内容的显示。存储模块用于存储数据,例如,网页内容和手写内容等。当然,存储模块也可以用于存储其他数据,例如录音与播放控制模块录制的录音文件、摘录与播放控制模块录制的视频摘录、用户输入的文本内容、图片或手写内容等。
另外,应用内核层还可以包括HTML编辑器和手写编辑器。HTML编辑器为基于HTML语言执行编辑的编辑器。可选的,HTML编辑器可以为H5编辑器。HTML编辑器用于对用户在非手写状态下输入的内容进行编辑,生成网页内容。
手写编辑器,用于对用户在手写状态下输入的内容进行编辑,生成手写内容。HTML编辑器生成的数据和内容可以通过JS界面渲染模块渲染至网页视图。
需要说明的是,上述滚动视图组件、手写视图组件、网页视图组件、JS界面渲染模块等也可以部分或全部设置于应用程序框架层或***库。本申请实施例对此不做任何限定。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
本申请以下实施例将以具有图3和图4所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的手势处理方法进行具体阐述。
首先对笔记编辑界面的初始化显示过程进行说明。
示例性的,图5为本申请实施例提供的一例打开笔记的界面变化示意图。以电子设备为手机为例,如图5中的(a)图所示,手机的桌面上包括笔记APP的图标,当用户点击笔记APP的图标,打开笔记APP,进入如图5中的(b)图所示的界面。该界面中显示多条笔记的标题。当用户点击标题名称“笔记1”,进入笔记1的初始编辑界面501,如图5中的(c)图所示。初始编辑界面501中包括内容编辑区域502。内容编辑区域502对应的视图结构可以如图2所示,在此不再赘述。
初始编辑界面501中,内容编辑区域502内显示网页视图第一页的内容和手写视图第一页的内容。可以理解,滚动视图的尺寸和位置固定,网页视图和手写视图在滚动视图内滚动。为了便于计算和显示,可以将网页视图和手写视图按照滚动视图的高度划分为多个页(或称为多屏)。一页(也称为一屏)的高度与滚动视图的高度相等。页数排序从顶部至底部依次增大。对于初始编辑页面而言,用户未执行滚动界面操作,因而网页视图和手写视图均显示第一页内容。如图5中的(c)图所示,网页视图第一页的内容包括文本内容503和图片504。手写视图第一页的内容包括文手写内容505。另外,初始编辑界面501中还包括滚动条506。
之后,用户在初始编辑界面501中的内容编辑区域502内执行向上滚动界面操作,网页视图和手写视图一同向上滚动。如图5中的(d)图所示,滚动后的界面中包括网页视图第二页的文本内容507,还包括手写视图第二页的手写内容508。
可选的,向上滚动界面操作可以为用户在屏幕上输入上滑手势,也可以为向下拖动滚动条506的操作,本申请实施例对此不做任何限定。
对应于图5中的(b)图至(d)图的界面变化过程,本申请实施例提供的方法实现界面显示的过程可以如图6所示,包括:
S101、响应于用户打开笔记1的操作,界面层的界面模块向内核层的滚动视图组件发送加载指令1。加载指令1用于指示加载笔记1的初始编辑界面中内容编辑区域的视图。
可选的,界面模块可以通过笔记编辑进程(note edit activity)实现步骤S101以及界面模块所执行的其他步骤,后续不再赘述。
可选的,在以滚动视图设置于笔记编辑界面中的内容编辑区域的情况下,除了滚动视图、网页视图和手写视图之外,笔记的编辑界面还可以包括其他视图。在一个具体的实施例中,笔记的编辑界面还包括内容视图(content view)。内容视图作为滚动视图的父视图,包裹滚动视图。对应的,笔记APP的内核层中还可以包括内容视图组件。内容视图组件用于实现内容视图的显示。
当界面中包括内容视图时,响应于用户打开笔记1的操作,界面模块可以向内容视图组件发送加载指令2,加载指令2用于指示加载初始编辑界面。之后,内容视图组件再向滚动视图组件发送加载指令1。
在滚动视图为笔记编辑界面的最外层视图的情况下,界面模块可以直接将加载指令1发送至滚动视图组件。
也就是说,界面模块可以直接或间接的将加载指令1发送至滚动视图组件。以下实施例中,关于界面模块向滚动视图发送的其他指令也是如此,后续不再赘述。
S102、滚动视图组件响应于加载指令1,向网页视图组件发送网页视图加载指令。网页视图加载指令用于指示加载网页视图1。网页视图1中包含内容编辑区域对应的所有网页内容。
内容编辑区域对应的内容是指能够在内容编辑区域内显示的网页内容。换句话说,网页视图1包含所有页的网页内容,即:网页视图1中既包含初始编辑界面中待显示的、用户可见的网页内容(即第一页的网页内容),又包含初始编辑界面中不显示的、用户不可见的网页内容(即第一页之外的其他页的网页内容)。
S103、网页视图组件响应于网页视图加载指令,进行网页视图初始化。
初始化后的网页视图的高度为预设高度1。可选的,预设高度1可以等于滚动视图的高度,也即为一页的高度。
S104、滚动视图组件向手写视图组件发送手写视图加载指令1。手写视图加载指令1用于指示加载手写视图1。手写视图1中仅包含待显示手写内容1。
待显示手写内容是指等待被显示于内容编辑区域的手写内容。对于初始编辑界面而言,待显示手写内容1为手写视图中的第一页手写内容。也就是说,手写视图1中包含初始编辑界面中的待显示的、用户可见的手写内容1(即第一页的手写内容),但不包含初始编辑界面中不显示、用户不可见的手写内容(即第一页之外的其他页的手写内容)。
可选的,该步骤可以与步骤S102同时执行,也可以在步骤S102之后或之前,本申请实施例对此不做任何限定。另外,本申请其他实施例也是如此,对步骤的执行顺序不做任何限定,只要符合逻辑即可,后续不再赘述。
S105、手写视图组件响应于手写视图加载指令1,进行手写视图初始化。
初始化后的手写视图的高度为预设高度2。可选的,预设高度2可以等于滚动视图的高度,也即为一页的高度。预设高度2与预设高度1相等,也可以不相等。
S106、界面模块向内核层的存储模块查询内容编辑区域对应的所有网页内容和所有手写内容。
S107、存储模块将内容编辑区域对应的所有网页内容发送至界面模块。
S108、界面模块向JS界面渲染模块发送内容编辑区域对应的所有网页内容(或简称所有网页内容)。
S109、JS界面渲染模块向初始化后的网页视图渲染所有网页内容。
S110、网页视图组件跟随渲染,扩充初始化后的网页视图的高度,得到网页视图1。
也就是说,初始化之后,JS界面渲染模块将内容编辑区域对应的所有网页内容全部渲染,且渲染过程中逐步扩充网页视图的高度,最终渲染完成得到网页视图1。这样,在后续用户执行滚动界面操作时,直接对网页视图1中相应区域进行显示,无需再进行渲染,减少界面滚动过程中的卡顿,提高用户体验。
可选的,在步骤S109的渲染过程中,可以禁用滚动视图组件的滚动功能,防止第一页之外的网页内容被用户可见,提高用户体验。
S111、网页视图组件将网页视图1的高度发送至滚动视图组件。
S112、界面模块向手写视图组件发送内容编辑区域对应的所有手写内容(或简称所有手写内容)。
S113、手写视图组件读取所有手写内容到内存。
S114、手写视图组件确定所有手写内容中的待显示手写内容1,将待显示手写内容1写入初始化后的手写视图中,得到手写视图1。
也就是说,对于内容编辑区域对应的手写内容,并非全部写入,而是仅写入当前待显示的待显示手写内容1,其余手写内容在显示时再写入(具体参见步骤S120)。也即,手写内容在显示时逐步写入。由于手写内容的写入会消耗较多资源,本实施例提供的方法能够节约电子设备资源,提高设备运行效率。
示例性的,图7为本申请实施例提供的另一例界面视图的结构示意图。在一个具体的实施例中,执行完步骤S114之后,网页视图1(图中示为701)、手写视图1(图中示为702)和滚动视图(图中示为703)的关系可以如图7所示。可以看出,网页视图1的网页内容已全部渲染,手写视图1仅写入了第一页的手写内容505。
S115、手写视图组件根据所有手写内容计算手写视图2的高度。
手写视图2是指包括所有手写内容的手写视图。换句话说,手写视图2既包括待显示手写内容1(即第一页的手写内容),又包括除待显示手写内容1之外的手写内容(即第一页之外的其他页的手写内容)。
需要注意的是,这里实际并没有写入手写内容,没有扩充初始化手写视图,也没有得到手写视图2,只是根据所有手写内容进行了计算手写视图2的高度。
具体的,手写内容以用户输入的多个手写触摸点的信息来表征。手写内容中可以包括各个手写触摸点的位置。手写触摸点的位置可以通过在手写视图2中的坐标表示。根据所有手写内容中最顶部位置的手写触摸点的坐标和最底部位置的手写触摸点的坐标,即可确定出手写视图2的高度。
S116、手写视图组件将手写视图2的高度发送至滚动视图组件。
S117、滚动视图组件根据网页视图1的高度和手写视图2的高度,初始化滚动视图。
可以理解,在完成上述步骤S101至S117之后,对各个视图送显,从而显示初始编辑界面,如图5中的(c)图所示。
S118、响应于用户的向上滚动界面操作,界面模块向滚动视图组件发送向上滚动指令。
S119、滚动视图组件响应于向上滚动指令,向手写视图组件发送手写视图加载指令2。手写视图加载指令2用于指示加载手写视图3。手写视图3包含手写视图1中的手写内容以及待显示手写内容2。
待显示手写内容2是指执行向上滚动界面操作后,等待增加显示于内容编辑区域的手写内容。
S120、手写视图组件响应于手写视图加载指令2,扩充手写视图1的高度,并向扩充后的手写视图1中写入待显示手写内容2,得到手写视图3。
可选的,手写视图组件可以根据待显示手写内容2的位置扩充手写视图1的高度,扩充至能够写入手写内容2即可。手写视图组件也可以整页扩充手写视图1的高度,例如,每次扩充一页。
S121、手写视图组件向滚动视图组件发送手写视图3的高度。
S122、滚动视图组件滚动网页视图1和手写视图3。
示例性的,图8为本申请实施例提供的又一例界面视图的结构示意图。在一个具体的实施例中,执行完步骤S122之后,网页视图1(图中示为701)、手写视图3(图中示为801)和滚动视图(图中示为703)的关系可以如图8所示。可以看出,手写视图3相较于图7中的手写视图1高度增高,网页视图3中包含手写内容508,且网页视图1和手写视图3的位置均上移,即向上滚动。
滚动网页视图1和手写视图3送显之后,用户可见的界面如图5中的(d)图所示。
本实施例中,笔记的编辑界面中,内容编辑区域的界面包括手写视图和网页视图。手写视图覆盖于网页视图之上。手写视图中可以显示手写内容,网页视图中可以显示文本、静态图片、GIF动态图片、视频、音频等多种类型的内容。如此,实现了笔记APP对多种内容的记录和显示,提高用户体验。而且,将手写视图和网页视图作为一个视图组,通过滚动视图包裹,因而,通过滚动视图能够实现手写视图和网页视图的滚动,解决在网页视图和手写视图较高的情况下的界面滚动问题。
下面对本申请实施例提供的手势处理方法中,解决手势冲突问题的过程进行说明。本申请中涉及的手势主要包括:点击手势、滑动手势和长按手势。为了便于理解,首先对本方法中涉及的应用场景、手势和手势的响应结果进行说明。
在一个具体的实施例中,应用场景、手势和手势的响应结果的对应关系可以如下表1所示:
表1
下面结合附图,对表1中各个场景的界面图和响应手势后的界面图进行说明。
1、滚动界面
在笔记APP处于非手写状态的情况下,当用户在笔记编辑界面中的内容编辑区域内输入滑动手势时,该区域内的界面随着用户滚动操作滚动。滚动界面的过程如图5中的(c)图和(d)图所示,在此不再赘述。
2、通过内容定位录音播放进度
本申请实施例中,笔记APP能够实现录音播放与内容显示的双向定位。所谓双向定位是指:录音播放的同时,录制该录音时记录的内容同步高亮显示;当用户调整录音播放进度至某一播放时长时,与该播放进度对应的内容高亮显示,这个过程称为“通过录音播放进度定位内容”,也称为正向定位操作;反之,当用户点击界面中某一位置的内容时,录音播放进度跳转至该内容对应的播放进度,这个过程称为“通过内容定位录音播放进度”,也称为反向定位操作。另外,用户在录制录音时记录的内容可以为手写内容,也可以为网页内容。网页内容可以包括文本内容、图片、表格等。
示例性的,图9为本申请实施例提供的一例通过内容定位录音播放进度的界面变化示意图。以电子设备为手机为例,如图9中的(a)图所示,笔记编辑界面中包括录音的控件900,且录音控件900对应的录音处于播放状态,当前播放时长为20秒(00:00:20)。另外,内容编辑区域502内显示有手写内容901、文本内容902和图片903。这些内容为录制该录音时,用户陆续记录的内容。其中,手写内容901中“现”字为用户在录制时长为1分钟(00:01:00)时记录的内容,文本内容902中“二十世纪中叶”为用户在录制时长为3分钟(00:03:00)时记录的内容,图片903为用户在录制时长为4分钟20秒(00:04:20)时记录的内容。当前播放时长为20秒,手写内容901、文本内容902和图片903均置灰显示。
关于录音、内容,以及二者对应关系的记录,可选的,可以通过笔记APP的录制与播放控制模块、HTML编辑器和手写编辑器等模块实现,本申请实施例对此不作详细说明。
当用户点击手写内容901中的“现”时,“现”字高亮显示,且播放进度跳转至“现”对应的播放时长,也即1分钟(00:01:00)处,如图9中的(b)图所示。
当用户点击文本内容902中的“二十世纪中叶”,“二十世纪中叶”及之前的所有内容高亮显示,且播放进度跳转至“二十世纪中叶”对应的播放时长,也即3分钟(00:03:00)处,如图9中的(c)图所示。当然,在一些实施例中,当用户点击文本内容902中的“二十世纪中叶”时,也可以仅“二十世纪中叶”高亮显示,“二十世纪中叶”之前的内容不高亮显示,本申请实施例对此不作任何限定。
当用户点击图片903,图片903及之前的所有内容高亮显示,且播放进度跳转至图片903对应的播放时长,也即4分钟20秒(00:04:20)处,如图9中的(d)图所示。
需要说明的是,上述置灰显示和高亮显示仅作为一种示例,不作为限定,在一些其他的实施例中,对于录音对应的内容的显示方式也可以为其他。
图9以用户输入点击手势选中内容为例进行了说明。对于录音对应的手写内容来说,录音播放时,用户输入长按手势,也可以选中手写内容,实现上述“通过内容定位录音播放进度”的功能。而且,无论是点击手势还是长按手势,手势响应时,均可以通过手势的落点位置定位选中的内容,因而只要手势的落点位置相同,两种手势对应的响应结果相同。
3、非手写状态下,通过手写笔输入手势
可以理解,用户可以通过手指在屏幕上输入手势,也可以通过手写笔在屏幕上输入手势。本申请实施例中,笔记APP处于非手写状态的情况下,当用户通过手写笔输入点击手势时,笔记APP切换为手写状态,显示手写操作界面,并将手势的轨迹作为手写内容写入。这样能够方便用户直接输入手写内容,无需用户手动进行状态切换,提高用户体验。
示例性的,图10为本申请实施例提供的一例非手写状态下通过手写笔输入手势的界面变化示意图。如图10中的(a)图所示,当前笔记APP处于非手写状态,界面中显示输入法界面1001。当然,在一些实施例中,处于非手写状态,界面中也可以不显示输入法界面1001,例如图5中的(c)图或(d)图所示的界面。
如图10中的(a)图所示,当用户通过手写笔在内容编辑区域502内输入点击手势时,笔记APP的状态切换为手写状态,界面中显示手写操作界面1002,而且,将用户输入的手势的轨迹1003作为手写内容写入手写视图,如图10中的(b)图所示。
4、手写状态下输入手势
笔记APP处于手写状态的情况下,当用户输入点击、长按或滑动手势时,根据用户的手势的轨迹,输入相应的内容。
示例性,图11为本申请实施例提供的一例手写状态下输入手势的界面变化示意图。如图11中的(a)图所示,当前笔记APP处于手写状态,显示手写操作界面1002。当用户在内容编辑区域502内输入点击、长按或滑动手势,笔记APP将用户输入的手势的轨迹作为手写内容,写入手写视图。例如,用户通过手指写入“手写”两个字,则界面中显示“手写”两个字,如图11中的(b)图中的1101所示。
5、操作视频摘录卡片中的内容
本申请实施例中,笔记APP可以用于录制视频摘录,且录制视频摘录的过程中,还可以向笔记中添加标签,标签对应有标签时间,标签时间为录制视频摘录过程中,***该标签时的录制时长。视频摘录录制完成后,界面中可以显示视频摘录的首帧图像和视频摘录的播放控件。通过播放控件能够控制视频摘录的播放。视频摘录播放过程中同步显示标签,且能够实现视频摘录的播放与标签的显示双向定位。该双向定位与上述录音播放的双向定位类似,不再赘述。以上关于视频摘录的功能可以通过摘录与播放控制模块、HTML编辑器以及视频摘录APP等实现,在此不做详细说明。
可选的,首帧图像、播放控件和该视频摘录的标签可以设置于同一卡片,该卡片显示于笔记的编辑界面中的内容编辑区域。当用户操作视频摘录卡片中的内容,根据手势的不同,笔记APP作出不同响应。可选的,当用户在视频摘录卡片中输入点击手势,摘录与播放控制模块按照预设逻辑控制显示,包括但不限于实现上述双向定位相关的显示。当用户在视频摘录卡片中输入长按手势,在视频摘录卡片上显示视频删除悬浮控件,视频删除悬浮控件中包括删除、取消删除等控件。
示例性的,图12为本申请实施例提供的一例操作视频摘录卡片中内容的界面变化示意图。以折叠屏手机为例,如图12中的(a)图所示,笔记的编辑界面中内容编辑区域502内显示有视频摘录卡片1201。视频摘录卡片1201中包括视频摘录的首帧图像1202、播放控件1203、标签1204和标签1205等。其中标签1204为纯文本标签,标签1205为截图文本标签。截图文本标签中包括截图。
当用户在视频摘录卡片1201中输入点击手势,摘录与播放控制模块按照预设逻辑控制显示。例如,如图12中的(a)图所示,当视频摘录处于播放状态时,若用户点击标签1204的内容,视频摘录播放进度跳转至该标签1204对应的标签时间30秒(00:30)处,如图12中的(b)图所示。除此之外,当用户在视频摘录卡片1201中输入点击手势时,摘录与播放控制模块还可以作出其他响应,具体的可以根据实际需求设置,本申请实施例对此不做任何限定。
如图12中的(c)图所示,当用户在视频摘录卡片1201中输入长按手势,视频摘录卡片上显示视频删除悬浮控件1206,视频删除悬浮控件1206中包括删除控件1207和取消控件1208等,如图12中的(d)图所示。
6、操作图片
笔记编辑界面中的内容编辑区域内可以包括图片(静态图片或GIF动态图片),一般的,界面中显示的图片可以为缩略图或被压缩的图像。若用户点击图片,笔记APP显示该图片详情,即将该缩略图或被压缩的图像对应的原图显示于界面,从视觉效果上呈现放大图片的效果。若用户长按该图片,图片上显示图片操作悬浮控件,图片操作悬浮控件中包括复制、保存、删除、提取文字、分享等选项。
示例性的,图13为本申请实施例提供的一例操作图片的界面变化示意图。如图13中的(a)图所示,笔记编辑界面中内容编辑区域502内显示有图片1301。当用户点击该图片1301,笔记APP显示该图片1301的详情,如图13中的(b)图中的1302所示。
当用户长按该图片1301,该图片1301上显示图片操作悬浮控件1303,图片操作悬浮控件1303中包括复制选项1304、删除选项1305、保存图片选项1306、提取文字选项1307和分享选项1308等。
7、操作预设控件或预设格式的内容
在一些实施例中,笔记编辑界面中的内容编辑区域内可以显示一些预设的控件或预设格式的内容。预设的控件例如包括:***PDF文件控件、清单条目标记控件等。预设格式的内容例如包括网页链接、邮箱、电话号码等。当用户点击这些预设的控件或预设格式的内容,执行对应的功能,显示相应的界面。
具体的,当用户点击***PDF文件控件,笔记APP调起***PDF文件的功能,界面中显示选择PDF***路径的卡片。当用户点击清单条目标记控件,笔记APP改变该控件及对应的清单条目的状态,例如,用户点击前,该控件和对应的清单条目处于未选中状态,则用户点击后,该控件及对应的清单条目为选中状态,反之亦然。当用户点击网页链接,笔记APP在界面中弹出用于用户选择对网页链接处理方式的弹框,弹框中可以包括跳转至网页链接对应的网站、复制网页链接、添加到书签等选项。当用户点击邮箱,笔记APP弹出用于用户选择对邮箱处理方式的弹窗,弹窗中可以包括发送邮件、复制邮箱、编辑等选项。当用户点击电话号码,笔记APP在界面中弹出用于用户选择对电话号码处理方式的弹窗,弹窗中可以包括拨打电话、发送信息、复制电话号码、保存电话号码等选项。
以下结合图14和图15,以清单条目标记控件和电话号码为例进行说明,其他预设控件和预设格式的内容与此类似,不再赘述。
示例性的,图14为本申请实施例提供的一例操作预设控件的界面变化示意图。如图14中的(a)图所示,笔记编辑界面中的内容编辑区域502内显示有用户***的清单1401,该清单1401中包括多个清单条目1402,每个清单条目1402对应一个清单条目标记控件1403。清单条目标记控件1403用于标记清单条目的状态。图14中的(a)图中,各个清单条目1402均处于未被选中状态。
当用户点击第一个清单条目1402(火腿)对应的清单条目标记控件1403,则该清单条目1402(火腿)被选中,改变显示状态,该清单条目标记控件1403也改变显示状态,以示该清单条目1402(火腿)处于被选中状态,如图14中的(b)图所示。
示例性的,图15为本申请实施例提供的一例操作预设格式的内容的界面变化示意图。如图15中的(a)图所示,笔记编辑界面中的内容编辑区域502内包括电话号码1501。当用户点击电话号码1501,界面中弹出弹窗1502,该弹窗1502用于用户选择对电话号码处理方式的。可选的,该弹窗1502中可以包括拨打电话选项1503、发送信息选项1504、复制至剪贴板选项1505、新建联系人选项1506、保存至已有联系人选项1507、编辑选项1508和取消选项1509等。
8、长按文字
当用户长按笔记编辑界面中内容编辑区域内的文字时:若当前笔记APP处于非手写状态,且正在播放音频,则界面中显示提示暂停录音播放的提示,例如,显示“点击此处暂停录音播放”的文字;若当前笔记APP处于非手写状态,且未播放录音,则在文字上显示文字操作悬浮控件,文字操作悬浮控件包括复制、保存、删除、分享等选项。
本申请实施例中以长按文字为例进行说明。可以理解,该场景不限于文字,标点符号等其他文本内容也是如此。
9、进入文本编辑
当在除上述1至8所述的场景之外的其他场景下输入点击或长按手势时,笔记APP进入文本编辑,启动输入法,显示输入法界面。
示例性的,图16为本申请实施例提供的一例进入文本编辑的界面变化示意图。如图16中的(a)图所示,当前笔记APP处于非手写状态。若当前笔记APP未播放录音,用户通过手指在界面中1601的位置输入点击、长按或滑动手势,1601处对应的内容不是视频摘录卡片中的内容、不是图片、也不是预设控件或预设格式的内容,则笔记APP启动输入法,显示输入法界面1001,如图16中的(b)图所示。
在一个实施例中,上述各个应用场景对应的判断条件,以及决策组件如表2所示。其中,表2中的手势和应用场景的判断条件共同决定了手势的响应结果。决策组件是指执行判断条件,识别手势并确定应用场景的视图组件。
表2
/>
结合表2,本申请实施例提供的方法中,对于手势的处理过程可以如图17-1和图17-2所示,包括下述步骤S201至S235。其中,图17-2接续图17-1。
S201、响应于用户输入手势,滚动视图组件确定是否笔记APP处于非手写状态,且手势是否为滑动手势;若是,则执行步骤S202;若否,则执行步骤S203。
具体的,响应于用户输入手势,界面模块将手势发送至滚动视图组件。
S202、滚动视图组件滚动手写视图和网页视图。步骤S202执行完之后,结束流程。
S203、滚动视图组件确定是否满足通过手写内容定位录音播放进度的条件;若是,则执行步骤S204;若否,则执行步骤S206。
“通过手写内容定位录音播放进度的条件”是指:笔记APP当前正在播放录音、手势的落点位置存在手写内容且该手写内容(以手写内容3为例)存在对应录音时长。
在一个具体的实施例中,滚动视图组件确定是否存在手写内容3对应的录音时长,可以由滚动视图组件直接确定,也可以由手写编辑器确定后将确定的结果发送至滚动视图组件。无论是滚动视图组件,还是手写编辑器,都可以基于预设的对应关系1来确定。可选的,预设的对应关系1用于表征手写内容与写入手写内容时的录音时长的对应关系。
S204、滚动视图组件向手写编辑器发送反向定位消息,反向定位消息中携带手势的落点位置处的手写内容3。反向定位消息用于指示执行反向定位操作。
S205、手写编辑器响应于反向定位消息,控制高亮显示手写内容3,并根据预设的对应关系1,确定手写内容3对应的录音时长1。
可选的,手写编辑器可以指示手写视图组件高亮显示手写内容3。也就是说,高亮显示手写内容3可以通过手写视图组件实现。
S206、手写编辑器将录音时长1发送至录音与播放控制模块。
S207、录音与播放控制模块根据录音时长1,将录音的播放进度跳转至录音时长1对应的播放时长。步骤S207执行完成后结束流程。
当然,根据预设逻辑的不同,笔记APP也可以通过其他的模块,按照其他的方式实现通过手写内容定位录音播放进度,本申请实施例对此不作任何限定。总之,滚动视图组件在确定满足通过手写内容定位录音播放进度的条件的情况下,向笔记APP中控制双向定位的模块发送反向定位消息,以使该模块响应于当前手势,执行反向定位操作。
S208、滚动视图组件确定是否满足非手写状态下通过手写笔输入手势的条件;若是,则执行步骤S209;若否,则执行步骤S211。
“非手写状态下通过手写笔输入手势的条件”是指:笔记APP当前处于非手写状态、手势的落点位置不是预设控件或预设格式的内容中的任一种、手势为手写笔输入且手势非长按手势,且手势的落点位置位于滚动视图内。
可选的,界面模块可以监控笔记APP的状态,并对不同的状态设置不同的标记,以使各个视图组件能够通过标记获知笔记APP所处的状态。
S209、滚动视图组件向界面模块发送进入手写状态指令,进入手写状态指令用于指示将笔记APP的状态切换为手写状态。
S210、界面模块响应于手写状态指令,将笔记APP的状态设置为手写状态,且控制显示手写操作界面。S210步骤之后执行步骤S211。
S211、滚动视图组件将手势发送至手写视图组件。
S212、手写视图组件确定笔记APP当前是否处于手写状态;若是,则执行步骤S213;若否,则执行步骤S214。
可以理解,对于通过步骤S208中“否”分支进入步骤S211的手势,也可以不执行步骤S212,直接执行步骤S213。
S213、手写视图组件处理该手势,将手势的轨迹作为手写内容写入手写视图。步骤S213执行完成后结束流程。
S214、手写视图组件将手势发送至网页视图组件。
S215、网页视图组件确定是否手势为长按手势,且手势落点位置为视频摘录卡片;若是,则执行步骤S216;若否,则执行步骤S217。
S216、网页视图组件在视频摘录卡片上显示视频删除悬浮控件,视频删除悬浮控件中包括删除、取消删除等控件。S216执行完成后结束流程。
S217、网页视图组件确定是否手势为长按手势,且手势落点位置为图片;若是,则执行步骤S218;若否,则执行步骤S219。
步骤S218至步骤S235请参见图17-2。
S218、网页视图组件在图片上显示图片操作悬浮控件,图片操作悬浮控件中包括复制、保存、删除、提取文字、分享等选项。步骤S218执行完成后结束流程。
S219、网页视图组件确定是否手势为长按手势,且手势落点位置为文字;若是,则执行步骤S220;若否,则执行步骤S223。
S220、网页视图组件确定笔记APP是否正在播放录音;若是,则执行步骤S221;若否,则执行步骤S222。
S221、网页视图组件显示暂停录音播放提示。步骤S221执行完成后结束流程。
S222、网页视图组件在文字上显示文字操作悬浮控件。步骤S222执行完成后结束流程。
S223、网页视图组件确定是否手势非长按手势,且手势落点位置为视频摘录卡片;若是,则执行步骤S224;若否,则执行步骤S226。
S224、网页视图组件向摘录与播放控制模块发送手势的信息。
手势的信息例如可以包括该手势的按下事件的时间和位置、抬起事件的时间和位置等。
S225、摘录与播放控制模块根据手势的信息,按照预设逻辑控制显示。步骤S225执行完成后结束流程。
具体的,摘录与播放控制模块可以根据手势的信息实现视频摘录播放与标签显示的双向定位等功能,在此不做限定。
S226、网页视图组件确定是否手势非长按手势,手势落点位置为图片且笔记APP未播放录音;若是,则执行步骤S227;若否,则执行步骤S228。
S227、网页视图组件显示该图片详情。步骤S227执行完成后结束流程。
S228、网页视图组件确定是否满足预设位置操作条件;若是,则执行步骤S229;若否,则执行步骤S230。
“预设位置操作条件”是指:手势非长按手势,手势落点位置为预设控件或预设格式的内容中的一种,且笔记APP未播放录音。
S229、网页视图组件向对应模块发送指令,指示执行该预设控件或预设格式的内容对应功能,显示该预设控件或预设格式的内容对应的界面。步骤S229执行完成后结束流程。
S230、网页视图组件确定是否满足通过网页内容定位录音播放进度的条件;若是,则执行步骤S231;若否,则执行步骤S235。
其中,“通过网页内容定位录音播放进度的条件”是指:手势非长按手势、笔记APP处于非手写状态、笔记APP当前正在播放录音、手势的落点位置存在网页内容,且该网页内容(以网页内容1为例)存在对应的录音时长。
该步骤与步骤S203类似,不同点在于,该步骤中确定的是网页内容。该步骤中,确定网页内容1是否存在对应的录音时长,可以直接由网页视图组件确定,也可以由HTML编辑器确定后将确定结果发送至网页视图组件。无论是网页视图组件,还是HTML编辑器,均可以基于预设的对应关系2来确定。可选的,预设的对应关系2用于表征网页内容与写入该网页内容时的录音时长的对应关系。
S231、网页视图组件向HTML编辑器发送反向定位消息,反向定位消息中携带手势的落点位置处的网页内容1。反向定位消息用于指示执行反向定位操作。
S232、HTML编辑器响应于反向定位消息,控制高亮显示网页内容1,并根据预设的对应关系2,确定网页内容1对应的录音时长2。
可选的,HTML编辑器可以指示网页视图组件高亮显示网页内容1。也就是说,高亮显示网页内容1可以通过网页视图组件实现。
S233、HTML编辑器将录音时长2发送至录音与播放控制模块。
S234、录音与播放控制模块根据录音时长2,将录音的播放进度跳转至录音时长2对应的播放时长。步骤S234执行完成后结束流程。
步骤S231至S234与步骤S204至S207类似,不再赘述。
S235、网页视图组件显示输入法界面。步骤S235执行完成后结束流程。
该实现方式中,在滚动视图组件在接收到用户输入的手势后,通过识别应用场景,结合应用场景和手势,将手势发送至相应的视图组件或模块,由视图组件或模组进行相应处理,以解决多层视图组件下的手势冲突的问题,准确识别用户意图,从而准确响应用户手势,提高用户体验。
在一个具体的实施例中,各个视图组件可以通过触摸事件的相关信息识别手势,并将识别手势的逻辑与识别场景的逻辑组合,实现上述表2的手势响应。
具体的,参见图18,对任意一个触摸事件a,各个视图组件的处理过程可以包括下述步骤S301至S339。其中,步骤S301至S315的执行主体为滚动视图组件,步骤S316至S320的执行主体为手写视图组件,步骤S321至S339的执行主体为网页视图组件。
S301、滚动视图组件接收到触摸事件a。
S302、滚动视图组件确定是否笔记APP处于非手写状态,且触摸事件a对应的手势为滑动手势。
具体的,滚动视图组件若确定触摸事件a为移动事件,且触摸事件a与上一个触摸事件b的位置大于预设距离阈值,则确定触摸事件a对应的手势为滑动手势。其中,触摸事件b为触摸事件a对应的手势中的触摸事件。
S303、滚动视图组件根据触摸事件a的位置,滚动手写视图和网页视图。
若执行步骤S303,则消费触摸事件a完成。
S304、滚动视图组件确定是否笔记APP正在播放录音且界面中存在手写视图;若是,则执行步骤S305;若否,则执行步骤S309。
可以理解,如上实施例所述,本申请实施例提供的方法中,界面中包括手写视图,因而,本实施例中,该步骤也可以不判断界面中是否包括手写视图。但是,该步骤中通过判断界面中是否存在手写视图,能够使该方法适用于未包括手写视图的笔记APP,提高方法兼容性。
S305、滚动视图组件确定触摸事件a是否为抬起事件;若是,则执行步骤S306;若否,则执行步骤S308,步骤S308之后执行步骤S315。
S306、滚动视图组件确定是否触摸事件a对应的手势的落点位置存在手写内容,且该手写内容(继续以手写内容3为例)存在对应的录音时长;若是,则执行步骤S307;若否,则执行步骤S309。
具体的,滚动视图组件可以根据手势的落点位置的坐标,在所有手写内容中确定是否存在该坐标对应的手写内容;若是,则滚动视图组件可以进一步确定该手写内容是否存在对应的录音时长,若是,则滚动视图组件确定当前应用场景为通过手写内容定位录音播放进度,执行步骤S307。
S307、滚动视图组件向手写编辑器发送反向定位消息,反向定位消息中携带手写内容3。反向定位消息用于指示执行反向定位操作。
该步骤之后,笔记APP还执行步骤S204至S207,在此不再赘述。
S308、滚动视图组件获取触摸事件a对应的手势的落点位置。
具体的,若触摸事件a不是抬起事件,而是按下事件或移动事件,则获取触摸事件a对应的手势的落点位置,也即确定触摸事件a对应的按下事件的位置。
S309、滚动视图组件确定是否触摸事件a为手写触摸事件且笔记APP当前处于非手写状态。
手写触摸事件是指通过手写笔输入的触摸事件。可选的,手写触摸事件中可以携带手写笔标识,手写笔标识用于表征该触摸事件为手写触摸事件,手写笔标识例如为工具类型(tool type)。当确定触摸事件a中携带tool type时,滚动视图组件确定触摸事件a为手写触摸事件。
S310、滚动视图组件确定触摸事件a对应的手势的落点位置是否为预设控件或预设格式的内容中的一种;若是,则执行步骤S311;若否,则执行步骤S315。
S311、滚动视图组件确定是否触摸事件a对应的手势的落点位置位于滚动视图内,且触摸事件a为抬起事件;若是,则执行步骤S312;若否,则执行步骤S315。
可选的,滚动视图组件可以判断手势的落点位置是否为网页视图内的位置;若是,则确定手势的落点位置位于滚动视图内;若否,则确定手势的落点位置位于滚动视图外。
在该步骤的判断条件中包括“触摸事件a对应的手势的落点位置位于滚动视图内”,这样能够将输入位置在滚动视图外的手势排除,提高手势识别的准确性。
S312、滚动视图组件确定触摸事件a对应的手势是否为长按手势。
可选的,滚动视图组件可以确定触摸事件a的时间与触摸事件a对应的按下事件的时间的时间差,若时间差大于预设时长,则确定触摸事件a对应的手势为长按手势,否则确定触摸事件a对应的手势不为长按手势。
S313、滚动视图组件向网页视图组件发送手势取消消息,手势取消消息用于指示触摸事件a无需网页视图组件处理。
可以理解,步骤S309中确定当前笔记APP为非手写状态,且步骤S311中确定手势的落点位置位于滚动视图内,因而可以确定该触摸事件是作用于网页视图中的。一般的,作用于网页视图的手势应该由网页视图组件处理。但是,在经过步骤S310至S312的判断后,确定当前手势为非手写状态下手写笔输入的手势,因而,需要进入手写状态,而无需网页视图组件处理触摸事件a,所以向网页视图组件发送手势取消消息。该步骤能够防止网页视图组件一直等待处理触摸事件a而导致出错,提高算法运行准确性。
S314、滚动视图组件向界面模块发送进入手写状态指令,进入手写状态指令用于指示将笔记APP的状态切换为手写状态。
界面模块接收到进入手写状态指令后执行步骤S210,在此不再赘述。
本实施例中,步骤S314之后执行步骤S315。当然,在一些实施例中,执行完步骤S314之后也可以结束流程,即消费触摸事件a完成。
S315、滚动视图组件向手写视图组件发送触摸事件a。
也即,滚动视图组件将触摸事件a分发至手写视图组件。至此,滚动视图组件对触摸事件a的处理结束。
S316、手写视图组件确定笔记APP当前是否处于手写状态;若是,则执行步骤S317;若否,则执行步骤S320。
步骤S305中判断结果为否的分支、步骤S309判断结果为否的分支最终均执行至步骤S315。也就是说,滚动视图组件可能在手写状态下向手写视图组件发送触摸事件a,也能在非手写状态下向手写视图发送触摸事件a,所以,该步骤S316再一次确定笔记APP是否处于手写状态。
S317、手写视图组件确定触摸事件a是否为抬起事件;若是,则执行步骤S318;若否,则执行步骤S319,步骤S319之后执行步骤S320。
S318、手写视图组件将触摸事件a对应的手势的轨迹作为手写内容写入手写视图。
若执行步骤S318,则手写视图组件消费触摸事件a完成。
S319、手势视图组件确定触摸事件a对应的手势的落点位置。
S320、手写视图组件向网页视图组件发送触摸事件a。
也即,手写视图组件将触摸事件a透传至网页视图组件。至此,手写视图组件对触摸事件a的处理结束。
S321、网页视图组件确定触摸事件a对应的手势是否为长按手势;若是,则执行步骤S322;若否,则执行步骤S330。
S322、网页视图组件确定触摸事件a对应的手势的落点位置是否为视频摘录卡片;若是,则执行步骤S323;若否,则执行步骤S324。
S323、网页视图组件在该视频摘录卡片上显示视频摘录删除悬浮控件。
若执行步骤S323,则网页视图组件消费触摸事件a完成。
S324、网页视图组件获取触摸事件a对应的手势的落点位置是否为图片;若是,则执行步骤S325;若否,则执行步骤S326。
S325、网页视图组件在该图片上显示图片操作悬浮控件。
若执行步骤S325,则网页视图组件消费触摸事件a完成。
S326、网页视图组件确定触摸事件a对应的手势的落点位置是否为文字;若是,则执行步骤S327;若否,则执行步骤S330。
S327、网页视图组件确定笔记APP是否正在播放录音;若是,则执行步骤S328;若否,则执行步骤S329。
S328、网页视图组件显示暂停录音播放提示。
若执行步骤S328,则手写视图组件消费触摸事件a完成。
S329、网页视图组件在文字上显示提示文字操作悬浮控件。
若执行步骤S329,则手写视图组件消费触摸事件a完成。
S330、网页视图组件确定触摸事件a是否为抬起事件;若是,则执行步骤S332;若否,则执行步骤S331。
S331、网页视图组件获取触摸事件a对应的手势的落点位置。
若执行步骤S331,则手写视图组件消费触摸事件a完成。
S332、网页视图组件确定触摸事件a对应的手势的落点位置是否为视频卡片;若是,则执行步骤S333;若否,则执行步骤S334。
S333、网页视图组件向视频摘录与播放控制模块发送触摸事件a对应的手势的信息。
S334、网页视图组件确定笔记APP是否正在播放录音;若是,则执行步骤S335;若否,则执行步骤S337。
S335、网页视图组件确定是否触摸事件a对应的手势的落点位置存在网页内容,且该网页内容(继续以网页内容1为例)存在对应的录音时长;若是,则执行步骤S336;若否,则执行步骤S337。
该步骤与步骤S306类似,不再赘述。
S336、网页视图组件向HTML编辑器发送反向定位消息,反向定位消息中携带网页内容1。反向定位消息用于指示执行反向定位操作。
若执行步骤S336,则手写视图组件消费触摸事件a完成。
另外,该步骤S336之后,笔记APP还执行步骤S231至S234,不再赘述。
S337、网页视图组件确定触摸事件a对应的手势的落点位置是否为图片;若是,则执行步骤S338;若否,则执行步骤S339。
S338、网页视图组件显示该图片的详情。
S339、网页视图组件确定触摸事件a对应的手势的落点位置是否为预设控件或预设格式的内容中的一种;若是,则执行步骤S340;若否,则执行步骤S341。
S340、网页视图组件向该预设控件或预设格式的内容对应的模块发送指令,指示执行该预设控件或预设格式的内容对应功能,显示该预设控件或预设格式的内容对应的界面。
若执行步骤S340,则手写视图组件消费触摸事件a完成。
S341、网页视图组件显示输入法界面。
若执行步骤S341,则手写视图组件消费触摸事件a完成。
通过上述过程,实现了通过触摸事件识别手势,同时根据手势的信息和笔记APP的状态识别应用场景,将识别手势的过程与识别应用场景的过程结合,准确地响应不同应用场景下不同的手势,解决多层视图下的手势冲突问题,提高用户体验。
另外,可以理解,笔记APP处于手写状态时,用户可以向手写视图中写入手写内容。写入过程中,随着手写位置的下移,手写视图组件对手写视图的高度进行扩充。而扩充之后,手写视图的高度可能高于网页视图。这种情况下,若用户退出手写状态,之后在网页视图中进行编辑,则网页视图中光标的位置处于网页视图的最底部,但是网页视图的高度小于手写视图,因而光标位置并不是最近一次编辑的位置,用户不能直接接续前面的手写内容继续输入网页内容。对于这种情况,相关技术中的笔记APP,用户需要手动换行,将光标下移,随着用户的换行操作,网页视图组件对网页视图的高度进行扩充。也就是说,相关技术中,用户退出手写状态再进入网页视图的编辑状态后,需要用户手动换行以将光标设置于最近编辑的位置,这样不方便用户使用。
有鉴于此,本申请实施例提供的方法,在用户退出手写状态时,对网页视图的高度进行自动扩充,使用户后续在网页视图中编辑网页内容时,光标可以直接显示于最近一次编辑的位置,从而能够接续前面的编辑内容继续编辑,方便用户使用,提高用户体验。
下面对扩充网页视图高度的过程进行说明。本实施例中,以手写视图和网页视图均按照整页加载为例进行说明,也就是说,手写视图和网页视图的高度均为一页视图高度的整数倍。
示例性的,图19为本申请实施例提供的另一例界面显示方法的流程示意图,如图19所示,该方法还包括:
S401、笔记APP处于手写状态的情况下,响应于用户在屏幕上写入手写内容4的操作,界面模块通过滚动视图组件将触摸事件分发至手写视图组件。
S402、手写视图组件处理触摸事件,向手写视图(以手写视图3为例)中写入手写内容4,且手写视图组件跟随写入手写内容4扩充手写视图3的高度,得到手写视图4。
这两个步骤中,接收触摸事件,并向手写视图3写入手写内容4的具体实现可以参见图18,在此不再赘述。
写入手写内容4且扩充高度后的手写视图记为手写视图4。
S403、响应于用户退出手写状态的操作,界面模块向手写视图组件发送退出手写指令,退出手写指令用于指示退出手写状态。
可选的,退出手写状态的操作例如可以包括:手写状态下,点击笔记编辑界面中的保存控件,如图10中的(b)图中的1005控件;或者,手写状态下,点击手写操作界面中的文本键入控件,如图10中的(b)图中的1004控件;或者,手写状态下,点击手写APP的悬浮球中的取消手写选项;或者,手写状态下,点击***照片控件等。本申请实施例对于退出手写状态的操作不做任何限定。
可选的,界面模块可以通过滚动视图组件向手写视图组件发送退出手写指令,也可以直接向手写视图组件发送退出手写指令。
S404、响应于退出手写指令,手写视图组件确定手写视图4的高度是否为预设的一页视图高度的整数倍;若是,则执行步骤S406;若否,则执行步骤S405,步骤S405之后,执行步骤S406。
确定手写视图4的高度是否为预设的一页视图高度的整数倍,也即确定手写视图4中是否存在非整页视图。
若手写视图4的高度不为预设的一页视图高度的整数倍,说明手写视图4中存在非整页视图,执行步骤S405扩充手写视图4的高度,扩充完成后执行步骤S406。若手写视图4的高度为预设的一页视图高度的整数倍,说明手写视图4中不存在非整页视图,手写视图4无需扩充,直接执行步骤S406。
S405、手写视图组件扩充手写视图4的高度,得到手写视图5;手写视图5的高度为满足整页条件的高度中的最小值,整页条件为:大于手写视图4的高度,且为预设的一页视图高度的整数倍。
换而言之,将手写视图4中不成整页的部分扩展至一页整页视图,得到手写视图5。
S406、手写视图组件计算当前手写视图的高度。
可以理解,当手写视图4的高度为预设的一页视图高度的整数倍时,当前手写视图也即手写视图4的高度;当手写视图4的高度不为预设的一页视图高度的整数倍时,当前手写视图也即手写视图5的高度。
S407、手写视图组件将当前手写视图的高度和手写内容4发送至界面模块。
S408、界面模块接收到当前手写视图的高度后,确定当前手写视图的高度是否大于当前网页视图(以网页视图1为例)的高度;若是,则执行步骤S409;若否,则执行步骤S413。
S409、界面模块向JS界面渲染模块发送扩充指令,扩充指令中携带当前手写视图的高度,扩充指令用于指示向网页视图1中写入换行符,以扩充网页视图1的高度,扩充后的网页视图1的高度等于当前手写视图的高度。
S410、JS界面渲染模块响应于扩充指令,向网页视图1中写入换行符。
S411、跟随写入换行符,网页视图组件扩充网页视图1的高度,直至扩充后的网页视图1的高度等于当前手写视图的高度。
S412、JS界面渲染模块向界面模块发送扩充完成消息,扩充完成消息用于通知界面模块已完成对网页视图1的扩充。
S413、界面模块响应于扩充完成消息,保存手写内容4至存储模块。
上面以手写视图和网页视图均按照整页加载为例进行了说明。可以理解,在一些实施例中,手写视图和网页视图也可以不按照整页加载,而是跟随视图中包含内容的位置加载。这种情况下,上述步骤S404和S405无需执行,直接将手写视图4的高度确定为当前手写视图的高度即可。
该实现方式中,在用户退出手写状态时,在网页视图高度小于手写视图的高度的情况下,向网页视图中自动渲染换行符,实现对网页视图高度的自动扩充。这样,用户后续在网页视图中编辑网页内容时,光标可以直接显示于最近一次编辑的位置,从而能够接续前面的编辑内容继续编辑,方便用户使用,提高用户体验。
另外,笔记APP进入手写状态时,也可以确定当前的手写视图的高度是否小于网页视图的高度;若是,则扩充手写视图的高度至网页视图的高度;若否,则不扩充。如此,能够在进入手写状态时,自动将手写编辑位置设置于最近一次编辑的位置处,无需用户手动滚动屏幕,提高用户体验。
上文详细介绍了本申请实施例提供的手势处理方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述手势处理方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图3所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的手势处理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的手势处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的手势处理方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (20)

1.一种手势处理方法,所述方法由电子设备执行,其特征在于,所述方法包括:
显示第一应用的第一界面;所述第一界面包括第一手写视图、第一网页视图和滚动视图,所述第一手写视图覆盖于所述第一网页视图的上层,所述滚动视图包裹所述第一手写视图和所述第一网页视图;
接收用户在所述第一界面输入的第一手势;
确定所述第一应用的运行状态,所述运行状态用于表征所述第一应用的功能的运行情况;
根据所述运行状态,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势。
2.根据权利要求1所述的方法,其特征在于,所述运行状态包括输入状态,所述输入状态用于表征所述第一应用的手写输入功能的运行情况;所述输入状态为手写状态和非手写状态中的一种。
3.根据权利要求2所述的方法,其特征在于,所述根据所述运行状态,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述输入状态为所述手写状态,则响应于所述第一手势,将所述第一手势的轨迹作为手写内容写入所述第一手写视图。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述运行状态,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势之前,所述方法还包括:
识别所述第一手势的手势类型;所述手势类型为滑动手势、点击手势和长按手势中的一种;
所述根据所述运行状态,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
根据所述运行状态和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势。
5.根据权利要求4所述的方法,其特征在于,所述根据所述运行状态和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述手势类型为所述滑动手势,且所述输入状态为所述非手写状态,则响应于所述第一手势,通过所述滚动视图滚动所述第一手写视图和所述第一网页视图。
6.根据权利要求4所述的方法,其特征在于,所述根据所述运行状态和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势;所述落点位置是指所述第一手势对应的按下事件的位置。
7.根据权利要求6所述的方法,其特征在于,所述根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述输入状态为所述非手写状态,所述落点位置对应所述第一网页视图中视频区域内的目标控件,且所述手势类型为所述点击手势,所述目标控件对应所述视频区域中的目标视频的第一视频播放时刻,则响应于所述第一手势,调整所述目标视频的播放进度至所述第一视频播放时刻;所述视频区域用于显示所述目标视频及所述目标视频相关的控件;
若所述输入状态为所述非手写状态,所述落点位置位于所述视频区域内,且所述手势类型为所述长按手势,则响应于所述第一手势,在所述第一网页视图中显示第一控件;所述第一控件用于控制删除所述目标视频。
8.根据权利要求6所述的方法,其特征在于,所述运行状态还包括流媒体状态,所述流媒体状态用于表征所述第一应用播放流媒体功能的运行情况,所述流媒体状态为录音播放状态和非录音播放状态中的一种。
9.根据权利要求8所述的方法,其特征在于,所述根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述流媒体状态为所述录音播放状态,所述落点位置对应所述第一网页视图中的第一手写内容,且所述手势类型为所述点击手势或所述长按手势,所述第一手写内容对应所述第一网页视图中的目标录音的第一录音播放时刻,则响应于所述第一手势,将所述第一手写内容按照第一预设方式显示于所述第一手写视图,并调整所述目标录音的播放进度至所述第一录音播放时刻;
若所述流媒体状态为所述录音播放状态,所述输入状态为所述非手写状态,所述落点位置对应所述第一网页视图中的第一网页内容,且所述手势类型为所述点击手势,所述第一网页内容与所述目标录音的第二录音时刻对应,则响应于所述第一手势,将所述第一网页内容按照第二预设方式显示于所述第一网页视图,并调整所述目标录音的播放进度至所述第二录音时刻。
10.根据权利要求8所述的方法,其特征在于,所述根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述输入状态为所述非手写状态,所述流媒体状态为所述非录音播放状态,所述落点位置存在第一图片,且所述手势类型为所述点击手势,则响应于所述第一手势,在所述第一网页视图中显示所述第一图片对应的原图;
若所述输入状态为所述非手写状态,所述落点位置存在所述第一图片,且所述手势类型为所述长按手势,则响应于所述第一手势,在所述第一网页视图中显示第二控件,所述第二控件用于选择对所述第一图片的处理方式。
11.根据权利要求8所述的方法,其特征在于,所述根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述输入状态为所述非手写状态,所述流媒体状态为所述录音播放状态,所述落点位置存在第一文本内容,且所述手势类型为所述长按手势,则响应于所述第一手势,在所述第一网页视图中显示第一提示信息,所述第一提示信息用于提示暂停录音播放;
若所述输入状态为所述非手写状态,所述流媒体状态为所述非录音播放状态,所述落点位置存在所述第一文本内容,且所述手势类型为所述长按手势,则响应于所述第一手势,在所述第一网页视图中显示第三控件,所述第三控件用于选择对所述第一文本内容的处理方式。
12.根据权利要求8所述的方法,其特征在于,所述根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述输入状态为所述非手写状态,所述流媒体状态为所述非录音播放状态,所述落点位置存在预设对象,且所述手势类型为所述点击手势,则响应于所述第一手势,执行所述预设对象的功能,且在所述第一网页视图中显示所述预设对象的功能对应的界面;所述预设对象为预设控件或预设格式的内容中的一种。
13.根据权利要求6所述的方法,其特征在于,所述根据所述运行状态、所述第一手势的落点位置和所述手势类型,通过所述第一手写视图、所述第一网页视图和所述滚动视图中的至少一者响应所述第一手势,包括:
若所述输入状态为所述非手写状态,所述第一手势的输入方式为手写笔输入,所述落点位置不存在预设对象,且所述手势类型为所述点击手势,则响应于所述第一手势,切换所述输入状态为所述手写状态,并将所述第一手势对应的轨迹作为手写内容写入所述第一手写视图;所述预设对象为预设控件或预设格式的内容中的一种。
14.根据权利要求1至13中的任一项所述的方法,其特征在于,所述滚动视图位于所述电子设备屏幕中的预设区域,所述显示第一应用的第一界面,包括:
响应于用户的第一操作,加载初始化网页视图和初始化手写视图,所述第一操作用于指示显示所述第一界面;
获取所有网页内容和所有手写内容;所述所有网页内容为用于在所述预设区域内显示的所有的网页内容,所述所有手写内容为用于在所述预设区域内显示的所有的手写内容;
向所述初始化网页视图渲染所述所有网页内容,且在渲染所述所有网页的过程中增加所述初始化网页视图的高度,得到第二网页视图,所述第二网页视图中包括所述第一网页视图;
将第一待显示内容写入所述初始化手写视图,得到所述第一手写视图,所述第一待显示内容为所述所有手写内容中,待显示于所述预设区域内的手写内容;
确定所述第二网页视图的高度;
根据所述所有手写内容,计算第二手写视图的高度,所述第二手写视图为包括所述所有手写内容的手写视图;
根据所述第二网页视图的高度和所述第二手写视图的高度,初始化所述滚动视图。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
响应于用户滚动界面的操作,获取第二待显示内容,所述第二待显示内容为在第一手写视图的基础上,待增加显示于所述预设区域内的手写内容;
根据所述第二待显示内容增加所述第一手写视图的高度,得到增高后的第一手写视图;
将所述第二待显示内容写入所述增高后的第一手写视图,得到第三手写视图;
滚动所述第二网页视图和所述第三手写视图。
16.根据权利要求15所述的方法,其特征在于,所述运行状态包括输入状态,所述输入状态为手写状态和非手写状态中的一种,所述方法还包括:
所述输入状态为所述手写状态的情况下,接收用户输入的第二手写内容;
根据第二手写内容的输入位置增加所述第三手写视图的高度,得到增高后的第三手写视图;
将所述第二手写内容写入所述增高后的第三手写视图,得到第四手写视图;
响应于用户退出所述手写状态的操作,根据所述第四手写视图的高度确定目标视图高度;
若所述目标视图高度大于所述第二网页视图的高度,则在所述第二网页视图中渲染换行符,并在渲染所述换行符的过程中增加所述第二网页视图的高度,得到第三网页视图;所述第三网页视图的高度等于所述目标视图高度。
17.根据权利要求16所述的方法,其特征在于,所述根据所述第四手写视图的高度确定目标视图高度,包括:
若所述第四手写视图的高度为预设高度的整数倍,则将所述第四手写视图的高度确定为所述目标视图高度;
若所述第四手写视图的高度不为所述预设高度的整数倍,则增加所述第四手写视图的高度,得到第五手写视图,将所述第五手写视图的高度确定为所述目标视图高度;所述第五手写视图的高度为待选高度中的最小值,所述待选高度大于所述第四手写视图的高度,且为所述预设高度的整数倍。
18.根据权利要求16所述的方法,其特征在于,所述根据所述第四手写视图的高度确定目标视图高度,包括:
将所述第四手写视图的高度确定为所述目标视图高度。
19.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至18中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至18中任一项所述的方法。
CN202410311135.3A 2022-11-22 2022-11-22 手势处理方法和电子设备 Pending CN118151803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410311135.3A CN118151803A (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211467876.8A CN116661635B (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备
CN202410311135.3A CN118151803A (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202211467876.8A Division CN116661635B (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备

Publications (1)

Publication Number Publication Date
CN118151803A true CN118151803A (zh) 2024-06-07

Family

ID=87710563

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211467876.8A Active CN116661635B (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备
CN202410311135.3A Pending CN118151803A (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202211467876.8A Active CN116661635B (zh) 2022-11-22 2022-11-22 手势处理方法和电子设备

Country Status (1)

Country Link
CN (2) CN116661635B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100444091C (zh) * 2005-12-28 2008-12-17 中兴通讯股份有限公司 一种键盘和手写协同输入的***及其实现方法
US9619038B2 (en) * 2012-01-23 2017-04-11 Blackberry Limited Electronic device and method of displaying a cover image and an application image from a low power condition
US20170242581A1 (en) * 2016-02-23 2017-08-24 Myscript System and method for multiple input management
CN110045819B (zh) * 2019-03-01 2021-07-09 华为技术有限公司 一种手势处理方法及设备
CN114783067B (zh) * 2022-06-14 2022-11-08 荣耀终端有限公司 基于手势的识别方法、设备及***

Also Published As

Publication number Publication date
CN116661635B (zh) 2024-04-05
CN116661635A (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
US11681866B2 (en) Device, method, and graphical user interface for editing screenshot images
WO2020211709A1 (zh) 一种添加批注的方法及电子设备
CN110597512B (zh) 显示用户界面的方法及电子设备
JP6997734B2 (ja) 画面用の手書きキーボード
WO2021232930A1 (zh) 应用分屏方法、装置、存储介质及电子设备
US10613743B2 (en) User interface for receiving user input
CN113805743B (zh) 切换显示窗口的方法和电子设备
CN113766064B (zh) 一种日程处理方法及电子设备
US10331297B2 (en) Device, method, and graphical user interface for navigating a content hierarchy
CN113132526B (zh) 一种页面绘制方法及相关装置
CN110119296A (zh) 切换父页面和子页面的方法、相关装置
CN114816167B (zh) 应用图标的显示方法、电子设备及可读存储介质
CN113939795A (zh) 用于更新主屏幕用户界面和唤醒屏幕用户界面的背景的设备、方法和图形用户界面
CN108287918A (zh) 基于应用页面的音乐播放方法、装置、存储介质和电子设备
CN113805744A (zh) 窗口的显示方法和电子设备
WO2022057852A1 (zh) 一种多应用程序之间的交互方法
CN116661635B (zh) 手势处理方法和电子设备
CN116048311B (zh) 窗口显示方法、电子设备和计算机可读存储介质
WO2022222728A1 (zh) 一种文本朗读方法及设备
CN115801943B (zh) 显示方法、电子设备及存储介质
CN115185440B (zh) 一种控件显示方法及相关设备
CN114095610B (zh) 一种通知消息处理方法及计算机可读存储介质
CN115116075A (zh) 一种识别点读文字的方法及电子设备
EP2806364B1 (en) Method and apparatus for managing audio data in electronic device
CN116700554B (zh) 信息的显示方法、电子设备及可读存储介质

Legal Events

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