CN116088715B - 消息提醒方法及电子设备 - Google Patents
消息提醒方法及电子设备 Download PDFInfo
- Publication number
- CN116088715B CN116088715B CN202210588425.3A CN202210588425A CN116088715B CN 116088715 B CN116088715 B CN 116088715B CN 202210588425 A CN202210588425 A CN 202210588425A CN 116088715 B CN116088715 B CN 116088715B
- Authority
- CN
- China
- Prior art keywords
- notification
- hover
- area
- screen
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
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)
- Multimedia (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种消息提醒方法及电子设备,有利于减少电子设备的功耗。该方法包括:在用户界面的第一区域显示第一悬浮通知和第二悬浮通知,第一区域包括在同一个窗口中的同一个视图中显示第一悬浮通知和第二悬浮通知,第一悬浮通知与第二悬浮通知具有第一相对位置;响应于对第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第二区域移动,其中视图不移动,第一区域与第二区域不同;检测第一悬浮通知移动至第二区域后,第二悬浮通知移动至第二区域,其中,第二区域包括在同一个窗口中的同一个视图中显示第一悬浮通知和所述第二悬浮通知,第一悬浮通知与第二悬浮通知具有第二相对位置,第一相对位置与第二相对位置相同。
Description
技术领域
本申请涉及终端领域,更具体地,涉及一种消息提醒方法及电子设备。
背景技术
随着技术的不断发展,电子设备可以通过多种方式为用户显示应用的消息提醒。
在一种显示消息提醒的方式中,电子设备可以将多个消息提醒以悬浮通知的形式显示给用户,电子设备可以为用户自动编排多个消息提醒的显示位置,并灵活地显示与隐藏多个消息提醒。这样可以使用户更加方便快捷地读取消息提醒,并且可以减少消息提醒在屏幕上对用户的干扰。
然而,目前在将多个消息提醒以悬浮通知的形式显示时会增加电子设备的功耗。因此,亟需提供一种方法以减少电子设备的功耗。
发明内容
本申请提供一种消息提醒方法及电子设备,有利于减少电子设备的功耗。
第一方面,提供了一种消息提醒方法,应用于电子设备,该方法包括:在用户界面的第一区域显示第一悬浮通知和第二悬浮通知,其中,第一区域位于电子设备的屏幕侧边,第一区域包括在同一个窗口中的同一个视图中显示第一悬浮通知和第二悬浮通知,第一悬浮通知与第二悬浮通知具有第一相对位置;响应于对第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第二区域移动,其中视图不移动,第二区域位于电子设备的屏幕侧边,第一区域与第二区域不同;检测第一悬浮通知移动至第二区域后,第二悬浮通知移动至第二区域,其中,第二区域包括在同一个窗口中的同一个视图中显示第一悬浮通知和所述第二悬浮通知,第一悬浮通知与第二悬浮通知具有第二相对位置,第一相对位置与第二相对位置相同。
在本申请中,电子设备可以通过一个窗口显示个悬浮通知,当用户期望在用户界面移动多个悬浮通知时,用户可以拖动多个悬浮通知中的第一悬浮通知进行移动,在用户松开第一悬浮通知,第一悬浮通知贴边显示之后,无需用户再去拖动第二悬浮通知,第二悬浮通知自动跟随第一悬浮通知移动,之后贴边显示。其中,第一悬浮通知与第二悬浮通知的相对位置和拖动第一悬浮通知前第一悬浮通知与第二悬浮通知的相对位置保持不变。
基于上述方案,通过在一个窗口中添加多个悬浮通知,可以使得多个悬浮通知共用一个窗口。因此,不必针对每个悬浮通知来创建一个窗口,减少因存在多个悬浮通知而创建多个窗口所带来的较大功耗,从而有利于节省电子设备的功耗。
基于上述方案,在移动多个悬浮通知的过程中,通过移动多个悬浮通知中的一个可以实现多个悬浮通知的联动,这样可以减少用户重复拖动悬浮通知的操作,有利于提高用户对界面中多个悬浮通知的整理效率,提高电子设备的展示性能,为用户带来更好的人机交互体验。并且,电子设备在控制第一悬浮通知移动的过程中,窗口尺寸扩大,第一悬浮通知和第二悬浮通知的移动均不涉及对窗口的移动,由于对窗口的移动可能会造成电子设备的卡顿,因此,本申请的技术方案有利于减少移动过程中的卡顿现象,提升移动悬浮通知的流畅度,为用户带来更好的观感。
结合第一方面,在第一方面的某些实现方式中,检测所述第一悬浮通知移动至所述第二区域后,所述第二悬浮通知移动至所述第二区域,包括:根据第一悬浮通知相对于拖动第一悬浮通知前视图的位置的偏移量,在窗口的范围内控制第二悬浮通知移动至第二区域。
结合第一方面,在第一方面的某些实现方式中,在响应于对第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第二区域移动之前,该方法还包括:响应于对第一悬浮通知的按压操作,将窗口的尺寸扩展至与电子设备的屏幕的尺寸相同;在检测第一悬浮通知移动至第二区域后,第二悬浮通知移动至第二区域之后,该方法还包括:将窗口的尺寸恢复至拖动第一悬浮通知前窗口的尺寸。
结合第一方面,在第一方面的某些实现方式中,第一区域还包括在同一个窗口中的同一个视图中显示第三悬浮通知,第一悬浮通知与第三悬浮通知具有第三相对位置。该方法还包括:响应于对第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第三区域移动,其中,视图不移动,第三区域位于电子设备的屏幕侧边;检测第一悬浮通知移动至第三区域后,第二悬浮通知和第三悬浮通知移动至第三区域,其中,第三区域包括在同一个窗口中的同一个视图中显示第一悬浮通知、第二悬浮通知和第三悬浮通知,第一悬浮通知与第二悬浮通知具有第四相对位置,第一悬浮通知与第三悬浮通知具有第五相对位置,第一相对位置与第四相对位置相同,第三相对位置与第五相对位置相同。
结合第一方面,在第一方面的某些实现方式中,响应于对所述第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第二区域移动,包括:设置第一悬浮通知在电子设备的屏幕的x轴方向的第一偏移量以及第一悬浮通知在屏幕的y轴方向的第二偏移量;基于第一偏移量和第二偏移量,在窗口的范围内控制第一悬浮通知跟随用户手指的拖动而移动;在检测到对第一悬浮通知的松开操作时,确定用户松开第一悬浮通知时手指的位置;根据手指的位置,确定第二区域;在窗口的范围内控制第一悬浮通知向第二区域移动,该方法还包括:设置视图的第一左边距和第一上边距,以使在第一悬浮通知向第二区域移动的过程中视图不移动,第一左边距等于扩展前的窗口在屏幕的x轴方向的位置,第一上边距等于扩展前的窗口在屏幕的y轴方向的位置。
结合第一方面,在第一方面的某些实现方式中,根据手指的位置,确定第二区域,包括:将手指在屏幕的x轴方向的位置与预设值进行比较,确定第二区域在屏幕的x轴方向的位置;根据第一悬浮通知在屏幕的y轴方向的位置,确定第二区域在屏幕的y轴方向的位置。
结合第一方面,在第一方面的某些实现方式中,将手指在屏幕的x轴方向的位置与预设值进行比较,确定第二区域在屏幕的x轴方向的位置,包括:若手指在屏幕的x轴方向的位置处于屏幕的y轴方向的中心线以左的区域时,确定第二区域为处于屏幕左侧的贴边显示位置;或,若手指在屏幕的x轴方向的位置处于屏幕的y轴方向的中心线以右的区域时,确定第二区域为处于屏幕右侧的贴边显示位置。
结合第一方面,在第一方面的某些实现方式中,检测第一悬浮通知移动至第二区域后,第二悬浮通知移动至所述第二区域,包括:设置视图的第二左边距和第二上边距;基于第二左边距和第二上边距,在窗口的范围内控制视图移动至第二区域。该方法还包括:设置第一悬浮通知在屏幕的x轴方向的第三偏移量以及第一悬浮通知在屏幕的y轴方向的第四偏移量,以控制在第二悬浮通知向第二区域移动的过程中第一悬浮通知不移动。这样,有利于实现第二悬浮通知跟随第一悬浮通知而移动,并且可以在第二悬浮通知移动的过程中,保持第一悬浮通知在第二区域不变。
结合第一方面,在第一方面的某些实现方式中,在用户界面的第一区域显示第一悬浮通知和第二悬浮通知之前,该方法还包括:创建视图;创建窗口,并将视图添加至窗口中;在视图内添加第一悬浮通知和第二悬浮通知。这样,电子设备通过在一个窗口中添加多个悬浮通知,可以使得多个悬浮通知共用一个窗口,因此,不必针对每个悬浮通知来创建一个窗口,有利于节省电子设备的功耗。
结合第一方面,在第一方面的某些实现方式中,在视图内添加第一悬浮通知和第二悬浮通知,包括:在视图内添加第一悬浮通知;在包含有第一悬浮通知的视图内添加第二悬浮通知。
结合第一方面,在第一方面的某些实现方式中,在包含有第一悬浮通知的视图内添加第二悬浮通知,包括:在视图内,将第二悬浮通知添加至第一悬浮通知的上方或者下方。
结合第一方面,在第一方面的某些实现方式中,在视图内添加第一悬浮通知和第二悬浮通知之前,该方法还包括:设置第一悬浮通知和第二悬浮通知的尺寸,第一悬浮通知的尺寸和第二悬浮通知的尺寸相同。这样,有利于提升多个悬浮通知展示时的整齐度和美观度。
结合第一方面,在第一方面的某些实现方式中,第一悬浮通知为第一应用的悬浮通知,第一悬浮通知包括第一应用的图标和/或第一应用的消息提醒的内容。这样,提醒方式更加直观有效,有利于提升用户的使用体验。
结合第一方面,在第一方面的某些实现方式中,第二悬浮通知为第二应用的悬浮通知,所述第二悬浮通知包括第二应用的图标和/或第二应用的消息提醒的内容。
结合第一方面,在第一方面的某些实现方式中,消息提醒的内容是根据应用的服务内容的变化实时更新的。
第二方面,提供一种电子设备,包括:用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该电子设备包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
第三方面,提供了另一种电子设备,包括处理器和存储器,该处理器与存储器耦合,该存储器可用于存储计算机程序,该处理器可用于调用并执行存储器中的计算机程序,以实现上述第一方面中任一种可能实现方式中的方法。
在一种实现方式中,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,通信接口可以是输入/输出接口。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不作限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不作限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例适用的一种电子设备的结构示意图;
图2是一种显示悬浮通知的界面示意图;
图3是一种显示多个悬浮通知的界面示意图;
图4是本申请实施例提供的一种显示多个悬浮通知的界面示意图;
图5是本申请实施例提供的一种移动悬浮通知的界面示意图;
图6是本申请实施例提供的另一种移动悬浮通知的界面示意图;
图7是本申请实施例提供的另一种显示多个悬浮通知的界面示意图;
图8是本申请实施例适用的电子设备的一种软件结构框图;
图9是本申请实施例提供的一种消息提醒方法的示意性流程图;
图10是本申请实施例提供的另一种消息提醒方法的示意性流程图;
图11是本申请实施例提供的一种电子设备的示意性框图;
图12是本申请实施例提供的另一种电子设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一悬浮通知和第二悬浮通知是为了区分不同的悬浮通知,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
图1是本申请实施例适用的一种电子设备的结构示意图。如图1所示,该电子设备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等。可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,处理器可以是电子设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,MicroUSB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU、显示屏194以及应用处理器等可以实现显示功能。应用处理器可以包括NPU和/或DPU。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。DPU也称为显示子系统(display sub-system,DSS),DPU用于对显示屏194的色彩进行调整,DPU可以通过颜色三维查找表(3D look up table,3D LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
显示屏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以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行各种功能应用及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放、录音等。其中,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”或“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,还可以是美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
本申请实施例的电子设备可以是具有无线连接功能的手持式设备、车载设备等,该电子设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)等。目前,一些电子设备的举例为:手机(mobile phone)、平板电脑、智能电视、笔记本电脑、平板电脑(Pad)、掌上电脑、移动互联网设备(mobile internet device,MID)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wirelesslocal loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的电子设备或者未来演进的公用陆地移动通信网络(public land mobilenetwork,PLMN)中的电子设备等,本申请的实施例对电子设备所采用的具体技术和具体设备形态不作限定。
作为示例而非限定,在本申请实施例中,该电子设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
应理解,本申请实施例中,电子设备可以是用于实现电子设备功能的装置,也可以是能够支持电子设备实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
本申请实施例中的电子设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。下文中将以电子设备为手机进行示例性说明。
当前,手机可以如图2所示,在用户界面显示一个或多个悬浮通知,该悬浮通知包括应用和/或服务的悬浮通知。示例性地,当用户正在使用笔记应用的时候,手机陆续弹出了悬浮通知A、悬浮通知B和悬浮通知C,以提醒用户相应的服务内容。手机可以为用户自动编排多个悬浮通知的显示位置,并灵活地显示与隐藏多个悬浮通知。图2所示的提醒方式对用户而言更加直观便捷,还可以减少在用户使用手机的过程中对用户造成的干扰。
在目前的实现方式中,手机可以通过多个窗口(window)显示多个悬浮通知。图3是一种显示多个悬浮通知的界面示意图。
以显示悬浮通知A、悬浮通知B和悬浮通知C为例,其中,悬浮通知A、悬浮通知B和悬浮通知C是依次弹出的。如图3中的A界面所示,手机可以生成应用A的悬浮通知A,并创建一个窗口01,将悬浮通知A添加至窗口01中,以使悬浮通知A可以通过窗口01在用户界面上显示。
如图3中的B界面所示,手机可以生成应用B的悬浮通知B,并创建一个窗口02,将悬浮通知B添加至窗口02中,以使悬浮通知B可以通过窗口02在用户界面中显示。
如图3中的C界面所示,手机可以生成应用C的悬浮通知C,并创建一个窗口03,将悬浮通知C添加至窗口03中,以使悬浮通知C可以通过窗口03在用户界面中显示。
在上述创建窗口显示悬浮通知的过程中,每当有应用或服务需要向用户推送悬浮通知时,手机需要为该悬浮通知创建一个窗口,这样有多个悬浮通知便需要创建多个窗口,而创建多个窗口会增加手机的功耗。
有鉴于此,本申请实施例提供一种消息提醒方法,电子设备可以在推送第一个悬浮通知时创建一次窗口,之后再有应用需要推送悬浮通知时,电子设备可以将之后的悬浮通知添加至已创建的窗口内,实现多个悬浮通知共用一个窗口的目的。这样,电子设备只需创建一次窗口便可显示多个悬浮通知,有利于减少电子设备的功耗。
本申请实施例将在用户界面显示的包括消息提醒的通知称为悬浮通知,此外,还可以将其称为胶囊,将如图2所示的提醒方式称为胶囊提醒。
图4是本申请实施例提供的一种显示多个悬浮通知的界面示意图。应理解,在图4所示的各个界面中的窗口04和祖父视图对用户是不可见的,用户可见的如图2所示,为多个悬浮通知。
如图4中的A界面所示,示例性地,在T1时刻,应用A有消息提醒需要向用户推送,手机可以生成悬浮通知A,悬浮通知A包括应用A的消息提醒。因为需要在用户界面显示悬浮通知A,因此手机需要创建窗口04和祖父视图(可记为Xlayout),将悬浮通知A添加至祖父视图中,之后在用户界面显示悬浮通知A。
需要说明的是,手机可以先创建窗口04,进而在窗口04指示的可显示范围内创建视图。因此可以理解的是,将悬浮通知A添加至祖父视图中,即为将悬浮通知A添加至窗口04中。
如图4中的B界面所示,示例性地,在T2时刻,应用B有消息提醒需要向用户推送,手机可以生成悬浮通知B,悬浮通知B包括应用B的消息提醒。在本申请实施例中,手机无需再为悬浮通知B创建窗口和视图,手机将悬浮通知B添加至在T1时刻已创建的祖父视图中。应理解的是,将悬浮通知B添加至祖父视图中,也即,将悬浮通知B添加至窗口04中,之后在用户界面显示悬浮通知B。应理解,在T1时刻用户界面已经显示悬浮通知A,因此,在用户未删除悬浮通知A的情况下,在T2时刻在用户界面显示悬浮通知B之后,用户界面可以如图4中的B界面所示,同时显示悬浮通知A和悬浮通知B。
如图4中的C界面所示,示例性地,在T3时刻,应用C有消息提醒需要向用户推送,手机可以生成悬浮通知C,悬浮通知C包括应用C的消息提醒。同理,手机无需再为悬浮通知C创建窗口和视图,手机将悬浮通知C添加至在T1时刻已创建的祖父视图中。应理解的是,将悬浮通知C添加至祖父视图中,也即,将悬浮通知C添加至窗口04中,之后在用户界面显示悬浮通知C。应理解,在T1时刻用户界面已经显示悬浮通知A,在T2时刻用户界面已经显示悬浮通知B。因此,在用户未删除悬浮通知A和悬浮通知B的情况下,在T3时刻在用户界面显示悬浮通知C之后,用户界面可以如图4中的C界面所示,同时显示悬浮通知A、悬浮通知B以及悬浮通知C。
其中,在T1时刻创建的窗口04可以限制悬浮通知的可移动范围,用户可以拖动悬浮通知在窗口04所限制的区域内移动。此外,窗口04还可以指示悬浮通知的可显示范围,用户在拖动悬浮通知的过程中,若在窗口04所限制的区域内拖动悬浮通知,那么在用户界面可以显示悬浮通知;若用户拖动悬浮胶囊超出窗口04所限制的区域,那么在用户界面无法显示悬浮通知。
图4所描述的祖父视图可以将多个悬浮通知固定在一起,使多个悬浮通知可以作为一个整体实现联动。在本申请实施例中可以将处于同一个祖父视图中的至少一个悬浮通知视为一个通知组。
在T1时刻至T3时刻,窗口04的尺寸等于通知组的最小包围盒(WrapContent)的尺寸。应理解的是,由于T1时刻、T2时刻和T3时刻的通知组不同,因此通知组的最小包围盒(WrapContent)的尺寸也不同,因此T1时刻、T2时刻和T3时刻窗口04的尺寸也不同。
为了更加清楚的区别出窗口04和祖父视图,图4所示出的窗口04的尺寸大于祖父视图的尺寸。在实现过程中,在图4所示的每个界面中,窗口04的尺寸可以和祖父视图的尺寸相同,也即在图4所示的每个界面中,用于表示窗口04的线框与用于表示视图的线框是重叠的。
上文所描述的应用A、应用B和应用C可以是相同的应用或者不同的应用,本申请实施例对此不作限定。悬浮通知A、悬浮通知B和悬浮通知C为不同的悬浮通知,每个悬浮通知的尺寸相同。
在悬浮通知C显示之后,还可以有多个悬浮通知添加至在窗口04中,本申请实施例对添加窗口04中的悬浮通知的数量不作限定。
基于图4的描述,手机可以通过一个窗口显示多个悬浮通知,相较于为每个悬浮通知创建一个窗口的方式而言,本申请实施例仅需创建一次窗口便可显示多个悬浮通知。由于每次创建窗口会增加手机的功耗,因此本申请实施例有利于节省电子设备的功耗。
通常,在用户正在使用手机的过程中,例如图2所示,当用户正在使用笔记应用的时候,手机陆续弹出了地图、的悬浮通知,这些悬浮通知当前的显示位置可能会干扰用户对笔记应用的浏览,因此用户可能需要对悬浮通知的位置进行移动。在现有的方案中,用户可以依次将多个悬浮通知从当前的显示位置移动到屏幕上的其他位置,需要用户执行多次拖动操作,多个悬浮通知之间无法联动,这样不便于用户操作,导致用户对屏幕上的悬浮通知的整理效率低下。
基于此,图5是本申请实施例提供的一种移动悬浮通知的界面示意图。在基于图4的描述通过窗口04在用户界面显示多个悬浮通知之后,用户可以移动多个悬浮通知中的任意一个。图5中以悬浮通知A、悬浮通知B和悬浮通知C贴近屏幕的右侧显示,用户从屏幕的右侧开始移动悬浮通知A为例进行介绍。
首先针对图5中的A界面进行介绍。
如图5中的A界面所示,示例性地,在T4时刻用户可以通过手指在屏幕上拖动悬浮通知A以达到移动悬浮通知A的目的。
具体地,手机可以在用户界面的第一区域显示悬浮通知A、悬浮通知B和悬浮通知C,其中,如图5中的A界面所示,第一区域表示在未拖动悬浮通知A之前屏幕右侧的悬浮通知A、悬浮通知B和悬浮通知C的显示位置。
手机在检测到用户的手指即将拖动悬浮通知A的一瞬间,为了使悬浮通知A可以在屏幕上的任意位置移动并且在移动的过程中在屏幕的任意位置显示,手机可以将窗口04扩展为全屏,也即将窗口04的尺寸扩展至与手机的屏幕的尺寸相同。
为了在悬浮通知A移动的过程中使祖父视图保持在屏幕原来的位置不变,手机可以设置祖父视图的左边距(left_Margin)和上边距(top_Margin):
left_Margin=windowx
top_Margin=windowy
其中,windowx和windowy表示表示窗口04未拓展为全屏时的屏幕坐标。其中,窗口04的屏幕坐标是以屏幕的左上角为基准确定的,可以将用于表示窗口04的线框的左上角所在的屏幕坐标看作是窗口04的屏幕坐标。
应理解的是,通常来说悬浮通知可以看作是祖父视图的子视图,或者称为子布局。当子视图的边界超出祖父视图的边界时,子视图超出的部分是无法显示的。因此,为了使子视图可以超出祖父视图在屏幕上显示,手机可以设置裁剪子布局(Xlayout.setClipChildren)的属性为预定义的值,该预定义的值表示子视图可以超出祖父视图显示。示例性地,设置裁剪子布局的属性为“false”。
应理解的是,在T4时刻悬浮通知B和悬浮通知C仍位于祖父视图内,在屏幕原来的位置不变。
在用户的手指拖动悬浮通知A的过程中,手机可以根据用户的手指位置,设置悬浮通知A在屏幕的x轴方向的偏移量(记为translationX)和在屏幕的y轴方向的偏移量(记为translationY),通过设置悬浮通知A的偏移量可以实现悬浮通知A的移动。其中,悬浮通知A在x轴方向的偏移量和在y轴方向的偏移量表示如下:
translationX=moveRawX-downRawX
translationY=moveRawY-downRawY
其中,moveRawX表示在拖动悬浮通知A的过程中用户的手指在屏幕的x轴方向的位置,moveRawY表示在拖动悬浮通知A的过程中用户的手指在屏幕的y轴方向的位置。downRawX表示用户刚按压悬浮通知A以准备拖动悬浮通知A时用户的手指在屏幕的x轴方向的位置,downRawY表示用户刚按压悬浮通知A以准备拖动悬浮通知A时用户的手指在屏幕的y轴方向的位置。
应理解的是,手机在检测到用户按压悬浮通知A的操作时,触发手指按压事件,从而确定手指按压悬浮通知A时用户的手指在x轴方向和y轴方向的位置。同样地,手机在检测到用户拖动悬浮通知A时,触发手指拖动事件,从而确定拖动悬浮通知A的过程中用户的手指在x轴方向和y轴方向的位置。
手机可以通过事件获取操作event.getAction()的返回值确定当前的事件类型。若返回值为“down”,表示手指按压事件;若返回值为“move”,表示手指拖动事件;若返回值为“up”,表示手指松开事件。
应理解的是,悬浮通知A的偏移是相对于祖父视图的偏移。如图5中的A界面所示,以表示祖父视图的线框的左上角为基准,悬浮通知A相对于祖父视图在x轴方向上是向左偏移的、在y轴方向上是向上偏移的。本申请实施例规定在x轴方向上向左偏移为负,在y轴方向上向上偏移为负。
下面针对图5中的B界面进行介绍。
如图5中的B界面所示,示例性地,在T5时刻,用户的手指松开悬浮通知A。手机在检测到用户松开悬浮通知A的操作时,触发手指松开事件,在窗口的范围内控制悬浮通知A向第二区域移动,在第二区域显示悬浮通知A。其中,如图5中的C界面所示,第二区域指拖动悬浮通知A之后屏幕左侧的悬浮通知A的显示位置。
具体地,手机可以确定松开悬浮通知A时手指在屏幕的x轴方向的位置和在屏幕的y轴方向的位置。若手指在屏幕的x轴方向的位置处于屏幕的中心线以左的区域时,确定第二区域为处于屏幕左侧的贴边显示位置;若手指在屏幕的x轴方向的位置处于屏幕的中心线以右的区域时,确定第二区域为处于屏幕右侧的贴边显示位置。
示例性地,手机确定第二区域为处于屏幕左侧的贴边显示位置,手机开始执行悬浮通知A的向左贴边动效。手机可以通过设置悬浮通知A在X轴的偏移量来实现左贴边动效,悬浮通知A在x轴方向的偏移量表示如下:
记T5时刻时悬浮通知A在屏幕的x轴方向的偏移量为translationX5,在屏幕的y轴方向的偏移量为translationY5,假设悬浮通知A的贴边过程为匀速,则在用户的手指松开悬浮通知A后的t时刻,悬浮通知A在屏幕的x轴方向的偏移量和在屏幕的y轴方向的偏移量表示如下:
translationYt=translationY5
其中,duration表示贴边动效的持续时长,示例性地,持续时长可以为150ms。left_Margin5表示T5时刻祖父视图的左边距,T5≤t≤T5+duration。
下面针对图5中的C界面进行介绍。
在悬浮通知A贴边显示之后,如图5中的C界面所示,示例性地,在T6时刻,手机控制祖父视图开始执行向左贴边动效,将祖父视图移动至第二区域,在第二区域显示悬浮通知B和悬浮通知C。应理解的是,通知B和悬浮通知C作为一个整体跟随祖父视图向左贴边。
手机可以通过设置祖父视图的左边距和上边距实现祖父视图的贴边动效。假设祖父视图的贴边过程为匀速,则在t时刻,祖父视图的边距计算表示如下:
其中,duration表示贴边动效的持续时长,示例性地,持续时长可以为150ms。left_Margin6表示T6时刻开始时祖父视图的左边距,top_Margin6表示T6时刻开始时祖父视图的上边距,translationY6表示T6时刻开始时悬浮通知A在屏幕的y轴方向的偏移量,T6≤t≤T6+duration。
在上文中介绍到,悬浮通知A的偏移是相对于祖父视图的偏移,为了在祖父视图移动的过程中保持悬浮通知A在屏幕的位置不变,并且使悬浮通知A可以恢复至原来在祖父视图中的位置,手机可以设置悬浮通知A的偏移量。假设祖父视图的贴边过程为匀速,则在t时刻,悬浮通知A在屏幕的x轴方向的偏移量和在屏幕的y轴方向的偏移量表示如下:
translationXt=-left_Margint
translationYt=translationY6+top_Margin6-top_Margint
其中,left_Margint表示t时刻祖父视图的左边距,top_Margint表示t时刻祖父视图的上边距,top_Margin6表示T6时刻开始时祖父视图的上边距,translationY6表T6时刻开始时悬浮通知A在屏幕的y轴方向上的偏移量,T6≤t≤T6+duration。
应理解的是,在祖父视图完成贴边之后,最终祖父视图在屏幕的x轴方向移动的距离与悬浮通知A在屏幕的x轴方向移动的距离相等;祖父视图在屏幕的y轴方向移动的距离与悬浮通知A在屏幕的y轴方向移动的距离相等。
下面针对图5中的D界面进行介绍。
在祖父视图贴边之后,也即悬浮通知B和悬浮通知C贴边显示之后,如图5中的D界面所示,示例性地,在T7时刻,手机将悬浮通知A重新添加至祖父视图中,悬浮通知A、悬浮通知B和悬浮通知C又重新组合为一个通知组。这样,第二区域包括在同一个窗口中的同一个视图中显示悬浮通知A、悬浮通知B和悬浮通知C。应理解的是,添加后悬浮通知A与悬浮通知B和悬浮通知C的相对位置和T3时刻悬浮通知A与悬浮通知B和悬浮通知C的相对位置相同。
下面针对图5中的E界面进行介绍。
如图5中的E界面所示,示例性地,在T8时刻,手机设置窗口04的屏幕坐标,并且将窗口04的尺寸恢复到与T3时刻窗口04的尺寸相同,其中,T8时刻与T7时刻为同一时刻。设置窗口04的屏幕坐标的计算公式如下:
windowx=left_Margin8
windowy=top_Margin8
在上边的公式中,手机将T8时刻祖父视图的左边距确定为窗口04在屏幕的x轴坐标(windowx),将T8时刻祖父视图的上边距确定为窗口04在屏幕的y轴坐标(windowy)之后,手机设置祖父视图的左边距和上边距以使窗口04恢复至与T3时刻窗口04的尺寸相同,计算公式如下:
left_Margin=0
top_Margin=0
应理解,由于祖父视图的左边距(left_Margin)和上边距(top_Margin)是相对于窗口04的距离,因此,若需要将窗口04的尺寸恢复到与T3时刻窗口04的尺寸相同,可以设置祖父视图的左边距(left_Margin)和上边距(top_Margin)均为0。
在结合图5所描述的实施例中,用户可以拖动悬浮通知A移动,当用户松开悬浮通知A,悬浮通知A贴边显示之后,悬浮通知B和悬浮通知C可以自动跟着悬浮通知A移动,并且最终可以与悬浮通知A重新组合为一个通知组。这样,用户只需拖动通知组中的一个悬浮通知,便可以实现其他悬浮通知的联动,便于用户操作,有利于提高用户对屏幕上的悬浮通知的整理效率,提升手机的展示性能,为用户带来更好的使用体验。
此外,用户在拖动过程中仅为对悬浮通知A的拖动,不包括对祖父视图和窗口04的拖动,并且悬浮通知B和悬浮通知C的移动为整体移动,这样的移动方式更加灵活,有利于减少拖动过程中悬浮通知在屏幕上的卡顿,为用户带来更流畅的视觉体验。
需要说明的是,悬浮通知A和祖父视图的移动仍然是在窗口04中进行的,在此过程中未曾创建其他窗口,有利于降低手机的功耗。
在上述图5的示例中,悬浮通知A、悬浮通知B和悬浮通知C在屏幕的右侧显示,最终悬浮通知A、悬浮通知B和悬浮通知C从屏幕右侧移动到了屏幕左侧之后。下面结合图6,以从屏幕左侧向上拖动悬浮通知A为例介绍相应的界面示意图。
图6是本申请实施例提供的另一种移动悬浮通知的界面示意图。在如图5中的E界面所示将悬浮通知A、悬浮通知B和悬浮通知C移动到屏幕左侧之后,用户还可以继续拖动悬浮通知A、悬浮通知B和悬浮通知C中的任意一个以将悬浮通知A、悬浮通知B和悬浮通知C整体移动到屏幕的其他位置显示。
如图6中的A界面所示,示例性地,在T9时刻用户可以通过手指在屏幕上拖动悬浮通知A使悬浮通知A向上移动。
具体地,手机在检测到用户的手指即将拖动悬浮通知A的一瞬间,为了使悬浮通知A可以在屏幕上的任意位置移动并且在移动的过程中在屏幕的任意位置显示,手机可以将窗口04扩展为全屏,也即将窗口04的尺寸扩展至与手机的屏幕的尺寸相同。
与图5中的描述类似,为了在悬浮通知A移动的过程中使祖父视图保持在屏幕原来的位置不变,手机可以设置祖父视图的左边距(left_Margin)和上边距(top_Margin),具体公式可参见上文针对图5的描述,此处不再赘述。
应理解的是,悬浮通知A的偏移是相对于祖父视图的偏移。如图6中的A界面所示,以表示祖父视图的线框的左上角为基准,悬浮通知A相对于祖父视图在x轴方向上是向右偏移的、在y轴方向上是向上偏移的。本申请实施例规定在屏幕的x轴方向上向右偏移为正,在屏幕的y轴方向上向上偏移为负。屏幕的x轴方向和屏幕的y轴方向可参见图5所示。
在用户的手指拖动悬浮通知A的过程中,手机可以根据用户的手指位置,设置悬浮通知A在屏幕的x轴方向的偏移量(记为translationX)和在屏幕的y轴方向的偏移量(记为translationY),通过设置悬浮通知A的偏移量可以实现悬浮通知A的移动,具体公式可参见上文针对图5中的A界面的描述,此处不再赘述。
如图6中的B界面所示,示例性地,在T10时刻,用户的手指松开悬浮通知A。手机在检测到用户松开悬浮通知A的操作时,触发手指松开事件,在屏幕左侧的区域显示悬浮通知A。与图5中的描述类似,手机可以根据用户松开悬浮通知A时手指在屏幕的x轴方向的位置和在屏幕的y轴方向的位置确定悬浮通知A的贴边显示位置,并通过设置悬浮通知A在X轴的偏移量来实现左贴边动效,具体公式可参见上文针对图5中的B界面的描述,此处不再赘述。
在悬浮通知A贴边显示之后,如图6中的C界面所示,示例性地,在T11时刻,手机控制祖父视图开始执行向上移动动效,将祖父视图移动至第四位置,在第四位置显示悬浮通知B和悬浮通知C。应理解的是,通知B和悬浮通知C作为一个整体跟随祖父视图向上移动。
应理解的是,在图6中的B界面中,悬浮通知A被拖动后的贴边位置与祖父视图的贴边位置均处于屏幕的左侧,因此在T11时刻,手机只需控制悬浮通知A向上移动。手机可以通过设置祖父视图的左边距和上边距实现祖父视图的贴边动效,具体公式可参见上文针对图5中的C界面的描述,此处不再赘述。
为了在祖父视图移动的过程中保持悬浮通知A在屏幕的位置不变,并且使悬浮通知A可以恢复至原来在祖父视图中的位置,手机可以设置悬浮通知A的偏移量。具体公式可参见上文针对图5的描述,此处不再赘述。
在祖父视图贴边之后,如图6中的D界面所示,示例性地,在T12时刻,手机将悬浮通知A重新添加至祖父视图中,悬浮通知A、悬浮通知B和悬浮通知C又重新组合为一个通知组。悬浮通知A、悬浮通知B和悬浮通知C之间的相对位置与移动悬浮通知A之前的相对位置保持不变。
如图6中的E界面所示,示例性地,在T13时刻,手机设置窗口04的屏幕坐标,并且将窗口04的尺寸恢复到与T3时刻窗口04的尺寸相同。窗口04的屏幕坐标以及祖父视图的左边距和上边距的具体公式可参见上文针对图5中的E界面的描述,此处不再赘述。
基于上文的描述,手机可以实现在一个窗口显示多个悬浮通知,悬浮通知包括应用和/或服务的悬浮通知。对用户而言,用户可以看到如图7所示的显示悬浮通知的界面。
图7是本申请实施例提供的另一种显示多个悬浮通知的界面示意图。
在一种可能的场景下,用户开启了地图、的推送悬浮通知的功能。在第一时间段内,用户使用了地图、/>的某些服务,手机可能会陆续弹出地图、/> 的悬浮通知以提醒用户相应的服务状态。手机可以为用户自动编排多个悬浮通知的显示位置,并灵活地显示与隐藏多个悬浮通知。
基于本申请实施例的技术方案,若用户在第一时间段内打开了地图使用地图的导航服务进行路线导航,在即将到达目的地时,如图7中的A界面所示,手机可以弹出地图的悬浮通知。
示例性地,在地图的悬浮通知中显示地图的图标和消息提醒的内容,消息提醒的内容为“还有2分钟到达目的地”,这样可以更直观地提醒用户,用户无需再点击悬浮通知进入相应的服务查看消息提醒的内容,便于用户操作。
类似地,在第一时间段内,在手机弹出地图的悬浮通知,并且未删除地图的悬浮通知之后的某个时刻,若用户使用点外卖,如图7中的B界面所示,手机可以弹出/>的悬浮通知,为用户实时显示外卖送达的剩余时间。
示例性地,在的悬浮通知中显示/>的图标和消息提醒的内容,消息提醒的内容为“剩余时间05:28”。
类似地,在第一时间段内,在手机弹出地图的悬浮通知和的悬浮通知,并且未删除地图的悬浮通知和/>的悬浮通知之后的某个时刻,如图7中的C界面所示,手机可以弹出/>的悬浮通知,为用户显示/>的消息提醒。
示例性地,在的悬浮通知中显示/>的图标和消息提醒的内容,消息提醒的内容可以包括取件码、待取包裹数量、物流信息等。
可选地,悬浮通知中显示的提醒消息的内容可以根据服务内容的变化实时更新。
示例性地,在通过点的外卖到达时,手机可以刷新/>的悬浮通知显示的消息提醒的内容,提醒用户外卖已到达。
应理解的是,悬浮通知在弹出后在用户界面显示的时长为预定义的时长,在预定义的时长之后,手机可以将悬浮通知隐藏在屏幕侧边的隐藏栏。在用户点击隐藏栏之后,手机可以如图7中的C界面所示,在用户界面展示所有的悬浮通知。
在一种可能的场景下,当用户正在使用某个应用,手机显示该应用的某个页面(例如图2中显示笔记)的时候,可能存在当前弹出的多个悬浮通知影响用户浏览页面,或者影响用户执行人机交互的操作,在这种场景下,用户可以拖动其中的某个悬浮通知移动位置以实现将多个悬浮通知整体移动的目的。例如,用户拖动图7中的地图的悬浮通知,在拖动地图的悬浮通知离开原来的显示位置,并且用户松手之后,手机为地图的悬浮通知执行动效,实现贴边显示。在地图的悬浮通知贴边显示之后,的悬浮通知和/>的悬浮通知自动跟随地图的悬浮通知贴边显示。如图7中的C界面和D界面所示,地图的悬浮通知、的悬浮通知和/>的悬浮通知均从屏幕的右侧移动到屏幕的左侧。
通常,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,示例性说明电子设备100的软件结构。
图8为本申请实施例适用的电子设备的一种软件结构框图。分层架构将电子设备100的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为应用程序层(application,APP)、应用程序框架层(application framework)、安卓运行时(Android runtime)和系统库以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图2所示,应用程序包可以包括相机、日历、地图、电话、音乐、WLAN、蓝牙、视频、社交、图库、导航、短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图8所示,应用程序框架层可以包括用户界面配件(userinterface kit,UIKit)框架,UIKit框架包括悬浮通知拖动动效模块、悬浮通知贴边动效模块、通知组贴边动效模块、悬浮通知接口模块(也可称为HnFloatingCapsule控件)等。
悬浮通知接口模块可用于实现悬浮通知的添加、悬浮通知的移除等操作。悬浮通知接口模块还可以设置悬浮通知的文本以及图标(icon)等。
悬浮通知拖动动效模块用于实现悬浮通知的拖动动效。
悬浮通知贴边动效模块用于实现悬浮通知的贴边动效。
通知组贴边动效模块用于实现通知组的贴边动效。其中,通知组包括至少一个悬浮通知。
需要说明的是,UIKit框架可以兼容不同的系统,如Magic5.0、Magic6.0。因此,UIKit框架提供的贴边动效可以在电子设备的不同系统中实现,本申请实施例对此不作限定。
应用程序框架层还可以包括窗口管理器、内容提供器、资源管理器、通知管理器、视图系统、电话管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。
视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备100振动,指示灯闪烁等。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动、音频驱动、相机驱动、蓝牙驱动等,本申请实施例对此不作限定。
下面结合图8至图10,介绍本申请实施例提供的消息提醒方法。
图9是本申请实施例提供的一种消息提醒方法900的示意性流程图。方法900包括S901至S915,具体步骤如下:
S901,应用A在确定有消息提醒需要向用户推送时,向悬浮通知接口模块发送第一指令,第一指令用于指示添加应用A的悬浮通知A。相应地,悬浮通知接口模块接收该第一指令。
应用A可以是应用层的任一应用,应用A发送第一指令的前提是应用A具有推送悬浮通知的功能,并且用户已开启应用A推送悬浮通知的功能。悬浮通知A包括应用A的消息提醒。
S902,悬浮通知接口模块向视图系统发送第二指令,第二指令用于指示创建祖父视图。相应地,视图系统接收第二指令。
S903,视图系统创建祖父视图(如图4或图5中的祖父视图)。
示例性地,视图系统可以在屏幕的预设位置创建祖父视图。通常,视图系统是贴近屏幕左边缘或者右边缘创建祖父视图的,即祖父视图的左边框可以贴近屏幕的左边缘,或者,祖父视图的右边框可以贴近屏幕的右边缘。
可选地,祖父视图在x轴方向的中心线与屏幕在x轴方向的中心线对齐,这样悬浮通知A可以在屏幕的中心线位置显示,看起来更加整齐美观。
S904,视图系统向悬浮通知接口模块发送第三指令,第三指令用于指示祖父视图已创建。相应地,悬浮通知接口模块接收第三指令。
S905,悬浮通知接口模块向窗口管理器发送第四指令,第四指令用于指示创建窗口。相应地,窗口管理器接收第四指令。
S906,窗口管理器创建窗口(如图4或图5中的窗口04),并将祖父视图添加至窗口中。
示例性地,窗口管理器可以在屏幕的预设位置创建窗口,创建的窗口的尺寸与预设的通知组的最小包围盒的尺寸相同。
在S903中创建的祖父视图的尺寸和S906中创建的窗口的尺寸可以相同。
S907,窗口管理器向悬浮通知接口模块发送第五指令,第五指令用于指示窗口已创建。相应地,悬浮通知接口模块接收第五指令。
其中,第五指令可以包括已创建的窗口的尺寸和窗口的屏幕坐标。
S908,悬浮通知接口模块向视图系统发送第六指令,第六指令用于指示添加悬浮通知A。相应地,视图系统接收第六指令。
S909,视图系统设置悬浮通知A的尺寸,生成悬浮通知A,并将悬浮通知A添加至祖父视图中。
示例性地,视图系统根据应用A的消息提醒设置悬浮通知的文本,根据应用A的图标设置悬浮通知的图标,从而生成悬浮通知A,并将悬浮通知A添加至祖父视图中。
S910,应用B在确定有消息提醒需要向用户推送时,向悬浮通知接口模块发送第七指令,第七指令用于指示添加应用B的悬浮通知B。相应地,悬浮通知接口模块接收该第七指令。
应用B也可以是应用层的任一应用,对应用B的描述类似S901中对应用A的描述,此处不再赘述。
S911,悬浮通知接口模块向视图系统发送第八指令,第八指令用于指示添加悬浮通知B。相应地,视图系统接收第八指令。
S912,视图系统设置悬浮通知B的尺寸,生成悬浮通知B,并将悬浮通知B添加至祖父视图中的悬浮通知A的下方。
视图系统无需再为悬浮通知B创建视图,而是通过添加视图(addView)方法在祖父视图中添加悬浮通知B。
需要说明的是,将悬浮通知B添加至祖父视图中的悬浮通知A的下方仅为示例,还可以将悬浮通知B添加至祖父视图中的悬浮通知A的上方,本申请实施例对此不作限定。
示例性地,视图系统首先将悬浮通知A添加至祖父视图中,在有悬浮通知B需要添加时,视图系统可以保持悬浮通知A与祖父视图的上边框的相对位置不变,沿屏幕的y轴方向扩大祖父视图的尺寸,之后在扩大后的祖父视图中的悬浮通知A的下方添加悬浮通知B。
可选地,如图4所示,视图系统在已添加悬浮通知A的祖父视图中添加悬浮通知B的过程中,视图系统可以保持祖父视图的上边框在屏幕的位置不变,沿屏幕的y轴方向扩大祖父视图的尺寸。由于悬浮通知A与祖父视图的上边框的相对位置不变,因此悬浮通知A在屏幕的位置也保持不变,之后将悬浮通知B添加至悬浮通知A的下方。悬浮通知A和悬浮通知B之间的间隔可以为预设距离。
可选地,视图系统沿屏幕的y轴方向扩大祖父视图的尺寸,扩大后的祖父视图在x轴方向的中心线与屏幕在x轴方向的中心线对齐,即视图系统可以在添加悬浮通知B的过程中动态调整祖父视图在屏幕的位置,可以始终保持祖父视图在x轴方向的中心线与屏幕在x轴方向的中心线对齐(对齐也可以理解为两条中心线重叠),这样的布局看起来更加整齐美观。
S913,应用C在确定有消息提醒需要向用户推送时,向悬浮通知接口模块发送第九指令,第九指令用于指示添加应用C的悬浮通知C。相应地,悬浮通知接口模块接收该第九指令。
应用C也可以是应用层的任一应用,对应用C的描述类似S901中对应用A的描述,此处不再赘述。
S914,悬浮通知接口模块向视图系统发送第十指令,第十指令用于指示添加悬浮通知C。相应地,视图系统接收第十指令。
S915,视图系统设置悬浮通知C的尺寸,生成悬浮通知C,并将悬浮通知C添加至祖父视图中的悬浮通知B的下方。
视图系统无需再为悬浮通知C创建视图,而是通过添加视图(addView)的方法在祖父视图中添加悬浮通知C。
应理解,上述将悬浮通知B添加至悬浮通知A下方,将悬浮通知C添加至悬浮通知B下方仅为示例,还可以是将悬浮通知B添加至悬浮通知A上方,将悬浮通知C添加至悬浮通知B上方,本申请实施例对此不作限定。
以上结合方法900介绍了电子设备在一个窗口中添加多个悬浮通知的内部交互流程。下面结合图10介绍电子设备在一个窗口中移动多个悬浮通知的内部交互流程。
图10是本申请实施例提供的一种移动多个悬浮通知的方法1000的示意性流程图。方法1000包括S1001至S1014,具体步骤如下:
S1001,悬浮通知拖动动效模块确定悬浮通知A被拖动。
用户在电子设备的屏幕上拖动时,电子设备中的传感器(例如图1中示出的触摸传感器180K)可以检测到用户拖动悬浮通知A,触发手指拖动事件,传感器向悬浮通知拖动动效模块发送用户的手指拖动事件,从而悬浮通知拖动动效模块确定悬浮通知A被拖动。
S1002,悬浮通知拖动动效模块向窗口管理器发送第十一指令,第十一指令用于指示窗口管理器设置窗口的尺寸和屏幕坐标。相应地,窗口管理器接收第十一指令。
S1003,窗口管理器设置窗口的尺寸和窗口的屏幕坐标。
由上文的描述可知,在用户拖动悬浮通知A的一瞬间,电子设备需要将窗口扩展至全屏。因此,窗口管理器可以设置窗口的尺寸与屏幕的尺寸相同,设置窗口的屏幕坐标为(0,0)。
S1004,悬浮通知拖动动效模块向视图系统发送第十二指令,第十二指令用于指示设置悬浮通知A的偏移量和祖父视图的边距。相应地,视图系统接收第十二指令。
S1005,视图系统设置悬浮通知A的偏移量以及祖父视图的边距。
窗口管理器设置悬浮通知A的偏移量以及祖父视图的边距可以参照针对图5中的A界面的描述,此处不再赘述。
S1006,悬浮通知贴边动效模块确定悬浮通知A被松开。
S1007,悬浮通知贴边动效模块向视图系统发送第十三指令,第十三指令用于指示视图系统设置悬浮通知A的偏移量。相应地,视图系统接收第十三指令。
S1008,视图系统设置悬浮通知A的偏移量,使悬浮通知A实现贴边。
视图系统设置悬浮通知A在屏幕的x轴方向的偏移量以及悬浮通知A在屏幕的y轴方向的偏移量,具体可参照上文中针对图5中的B界面的描述,此处不再赘述。
S1009,在悬浮通知A贴边显示之后,通知组贴边动效模块向视图系统发送第十四指令,第十四指令用于指示视图系统设置悬浮通知A的偏移量以及祖父视图的边距。相应地,视图系统接收第十四指令。
S1010,视图系统设置悬浮通知A的偏移量以及祖父视图的边距,使祖父视图实现贴边。
视图系统设置悬浮通知A在屏幕的x轴方向的偏移量以及悬浮通知A在屏幕的y轴方向的偏移量,设置祖父视图的左边距和上边距。使祖父视图实现贴边即为使悬浮通知B和悬浮通知C实现贴边显示,具体可参照上文中针对图5中的C界面的描述,此处不再赘述。
S1011,在祖父视图贴边之后,通知组贴边动效模块向窗口管理器发送第十五指令,第十五指令用于指示窗口管理器设置窗口的尺寸和窗口的屏幕坐标。相应地,窗口管理器接收第十五指令。
S1012,窗口管理器设置窗口的尺寸和窗口的屏幕坐标。
基于上文的描述可知,在祖父视图贴边之后,窗口需要恢复至通知组的最小包围盒的尺寸,在回复之后窗口的坐标也会发生变化。因此,窗口管理器可以设置窗口的尺寸等于通知组的最小包围盒的尺寸,设置恢复尺寸之后窗口的屏幕坐标。
具体可参照上文中针对图5中的E界面的描述,此处不再赘述。
S1013,在祖父视图贴边之后,通知组贴边动效模块向视图系统发送第十六指令,第十六指令用于指示视图系统设置祖父视图的边距。相应地,视图系统接收第十六指令。
S1014,视图系统设置祖父视图的边距。
具体可参照上文中针对图5中的E界面的描述,此处不再赘述。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图10,详细描述了根据本申请实施例的消息提醒方法,下面将结合图11和图12详细描述根据本申请实施例的电子设备。
图11示出了本申请实施例提供的一种电子设备1100的示意性框图,该电子设备1100包括显示模块1110和处理模块1120。
其中,显示模块1110用于:在用户界面的第一区域显示第一悬浮通知和第二悬浮通知,其中,第一区域位于电子设备的屏幕侧边,第一区域包括在同一个窗口中的同一个视图中显示第一悬浮通知和第二悬浮通知,第一悬浮通知与第二悬浮通知具有第一相对位置。处理模块1120用于:响应于对第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第二区域移动,其中视图不移动,第二区域位于电子设备的屏幕侧边;以及,检测第一悬浮通知移动至第二区域后,第二悬浮通知移动至第二区域,其中,第二区域包括在同一个窗口中的同一个视图中显示第一悬浮通知和所述第二悬浮通知,第一悬浮通知与第二悬浮通知具有第二相对位置,第一相对位置与第二相对位置相同。
可选地,处理模块1120用于:根据第一悬浮通知相对于拖动第一悬浮通知前视图的位置的偏移量,在窗口的范围内控制第二悬浮通知移动至第二区域。
可选地,处理模块1120用于:响应于对第一悬浮通知的按压操作,将窗口的尺寸扩展至与电子设备的屏幕的尺寸相同;以及,在检测第一悬浮通知移动至第二区域后,第二悬浮通知移动至第二区域之后,将窗口的尺寸恢复至拖动第一悬浮通知前窗口的尺寸。
可选地,第一区域还包括在同一个窗口中的同一个视图中显示第三悬浮通知,第一悬浮通知与第三悬浮通知具有第三相对位置。处理模块1120用于:响应于对第一悬浮通知的拖动操作,在窗口的范围内控制第一悬浮通知向第三区域移动,其中,视图不移动,第三区域位于电子设备的屏幕侧边;以及,检测第一悬浮通知移动至第三区域后,第二悬浮通知和第三悬浮通知移动至第三区域,其中,第三区域包括在同一个窗口中的同一个视图中显示第一悬浮通知、第二悬浮通知和第三悬浮通知,第一悬浮通知与第二悬浮通知具有第四相对位置,第一悬浮通知与第三悬浮通知具有第五相对位置,第一相对位置与第四相对位置相同,第三相对位置与第五相对位置相同。
可选地,处理模块1120用于:设置第一悬浮通知在屏幕的x轴方向的第一偏移量以及第一悬浮通知在屏幕的y轴方向的第二偏移量;基于第一偏移量和第二偏移量,在窗口的范围内控制第一悬浮通知跟随用户手指的拖动而移动;在检测到对第一悬浮通知的松开操作时,确定用户松开第一悬浮通知时手指的位置;根据手指的位置,确定第二区域;在窗口的范围内控制第一悬浮通知向第二区域移动;以及,设置视图的第一左边距和第一上边距,以使在第一悬浮通知向第二区域移动的过程中视图不移动,第一左边距等于扩展前的窗口在屏幕的x轴方向的位置,第一上边距等于扩展前的窗口在屏幕的y轴方向的位置。
可选地,处理模块1120用于:将手指在屏幕的x轴方向的位置与预设值进行比较,确定第二区域在屏幕的x轴方向的位置;以及,根据第一悬浮通知在屏幕的y轴方向的位置,确定第二区域在屏幕的y轴方向的位置。
可选地,处理模块1120用于:若手指在屏幕的x轴方向的位置处于屏幕的y轴方向的中心线以左的区域时,确定第二区域为处于屏幕左侧的贴边显示位置;或,若手指在屏幕的x轴方向的位置处于屏幕的y轴方向的中心线以右的区域时,确定第二区域为处于屏幕右侧的贴边显示位置。
可选地,处理模块1120用于:设置视图的第二左边距和第二上边距;基于第二左边距和第二上边距,在窗口的范围内控制视图移动至第二区域;以及,设置第一悬浮通知在屏幕的x轴方向的第三偏移量以及第一悬浮通知在屏幕的y轴方向的第四偏移量,以控制在第二悬浮通知向第二区域移动的过程中第一悬浮通知不移动。
可选地,处理模块1120用于:创建视图;创建窗口,并将视图添加至窗口中;在视图内添加第一悬浮通知和第二悬浮通知。
可选地,处理模块1120用于:在视图内添加第一悬浮通知;在包含有第一悬浮通知的视图内添加第二悬浮通知。
可选地,处理模块1120用于:在视图内,将第二悬浮通知添加至第一悬浮通知的上方或者下方。
可选地,处理模块1120用于:设置第一悬浮通知和第二悬浮通知的尺寸,第一悬浮通知的尺寸和第二悬浮通知的尺寸相同。
可选地,第一悬浮通知为第一应用的悬浮通知,所述第一悬浮通知包括所述第一应用的图标和/或所述第一应用的消息提醒的内容。
可选地,第二悬浮通知为第二应用的悬浮通知,所述第二悬浮通知包括所述第二应用的图标和/或所述第二应用的消息提醒的内容。
可选地,消息提醒的内容是根据应用的服务内容的变化实时更新的。
在一个可选的例子中,本领域技术人员可以理解,上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。电子设备1100可以用于执行上述方法实施例中的各个流程和/或步骤。
应理解,这里的电子设备1100以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
图12示出了本申请实施例提供的另一种电子设备1200的示意性框图。该电子设备1200包括处理器1210、收发器1220和存储器1230。其中,处理器1210、收发器1220和存储器1230通过内部连接通路互相通信,该存储器1230用于存储指令,该处理器1210用于执行该存储器1230存储的指令,以控制该收发器1220发送信号和/或接收信号。
应理解,电子设备1200可以用于执行上述方法实施例中与电子设备对应的各个步骤和/或流程。可选地,该存储器1230可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1210可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与电子设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器1210可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时可实现上述任一方法实施例中电子设备所执行的方法。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时可实现上述任一方法实施例中电子设备所执行的方法。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。
Claims (18)
1.一种消息提醒方法,其特征在于,应用于电子设备,包括:
在用户界面的第一区域显示第一悬浮通知和第二悬浮通知,其中,所述第一区域位于所述电子设备的屏幕侧边,所述第一区域包括在同一个窗口中的同一个视图中显示所述第一悬浮通知和所述第二悬浮通知,所述第一悬浮通知与所述第二悬浮通知具有第一相对位置;
响应于对所述第一悬浮通知的拖动操作,在所述窗口的范围内控制所述第一悬浮通知向第二区域移动,其中,所述视图不移动,所述第二区域位于所述电子设备的屏幕侧边,所述第一区域与所述第二区域不同;
检测所述第一悬浮通知移动至所述第二区域后,所述第二悬浮通知移动至所述第二区域,其中,所述第二区域包括在同一个窗口中的同一个视图中显示所述第一悬浮通知和所述第二悬浮通知,所述第一悬浮通知与所述第二悬浮通知具有第二相对位置,所述第一相对位置与所述第二相对位置相同。
2.根据权利要求1所述的方法,其特征在于,所述检测所述第一悬浮通知移动至所述第二区域后,所述第二悬浮通知移动至所述第二区域,包括:
根据所述第一悬浮通知相对于拖动所述第一悬浮通知前所述视图的位置的偏移量,在所述窗口的范围内控制所述第二悬浮通知移动至所述第二区域。
3.根据权利要求1或2所述的方法,其特征在于,在所述响应于对所述第一悬浮通知的拖动操作,在所述窗口的范围内控制所述第一悬浮通知向第二区域移动之前,所述方法还包括:
响应于对所述第一悬浮通知的按压操作,将所述窗口的尺寸扩展至与所述电子设备的屏幕的尺寸相同;
在所述检测所述第一悬浮通知移动至所述第二区域后,所述第二悬浮通知移动至所述第二区域之后,所述方法还包括:
将所述窗口的尺寸恢复至拖动所述第一悬浮通知前所述窗口的尺寸。
4.根据权利要求1或2所述的方法,其特征在于,所述第一区域还包括在同一个窗口中的同一个视图中显示第三悬浮通知,所述第一悬浮通知与所述第三悬浮通知具有第三相对位置;
所述方法还包括:
响应于对所述第一悬浮通知的拖动操作,在所述窗口的范围内控制所述第一悬浮通知向第三区域移动,其中,所述视图不移动,所述第三区域位于所述电子设备的屏幕侧边;
检测所述第一悬浮通知移动至所述第三区域后,所述第二悬浮通知和所述第三悬浮通知移动至所述第三区域,其中,所述第三区域包括在同一个窗口中的同一个视图中显示所述第一悬浮通知、所述第二悬浮通知和所述第三悬浮通知,所述第一悬浮通知与所述第二悬浮通知具有第四相对位置,所述第一悬浮通知与所述第三悬浮通知具有第五相对位置,所述第一相对位置与所述第四相对位置相同,所述第三相对位置与所述第五相对位置相同。
5.根据权利要求1或2所述的方法,其特征在于,所述响应于对所述第一悬浮通知的拖动操作,在所述窗口的范围内控制所述第一悬浮通知向第二区域移动,包括:
设置所述第一悬浮通知在所述电子设备的屏幕的x轴方向的第一偏移量以及所述第一悬浮通知在所述屏幕的y轴方向的第二偏移量;
基于所述第一偏移量和所述第二偏移量,在所述窗口的范围内控制所述第一悬浮通知跟随用户手指的拖动而移动;
在检测到对所述第一悬浮通知的松开操作时,确定用户松开所述第一悬浮通知时手指的位置;
根据所述手指的位置,确定所述第二区域;
在所述窗口的范围内控制所述第一悬浮通知向所述第二区域移动;
所述方法还包括:
设置所述视图的第一左边距和第一上边距,以使在所述第一悬浮通知向所述第二区域移动的过程中所述视图不移动,所述第一左边距等于扩展前的所述窗口在屏幕的x轴方向的位置,所述第一上边距等于扩展前的所述窗口在屏幕的y轴方向的位置。
6.根据权利要求5所述的方法,其特征在于,所述根据所述手指的位置,确定所述第二区域,包括:
将所述手指在所述屏幕的x轴方向的位置与预设值进行比较,确定所述第二区域在所述屏幕的x轴方向的位置;
根据所述第一悬浮通知在所述屏幕的y轴方向的位置,确定所述第二区域在所述屏幕的y轴方向的位置。
7.根据权利要求6所述的方法,其特征在于,所述将所述手指在所述屏幕的x轴方向的位置与预设值进行比较,确定所述第二区域在所述屏幕的x轴方向的位置,包括:
若所述手指在所述屏幕的x轴方向的位置处于所述屏幕的y轴方向的中心线以左的区域时,确定所述第二区域为处于所述屏幕左侧的贴边显示位置;或,
若所述手指在所述屏幕的x轴方向的位置处于所述屏幕的y轴方向的中心线以右的区域时,确定所述第二区域为处于所述屏幕右侧的贴边显示位置。
8.根据权利要求1-2、6-7中任一项所述的方法,其特征在于,所述检测所述第一悬浮通知移动至所述第二区域后,所述第二悬浮通知移动至所述第二区域,包括:
设置所述视图的第二左边距和第二上边距;
基于所述第二左边距和所述第二上边距,在所述窗口的范围内控制所述第二悬浮通知移动至所述第二区域;
所述方法还包括:
设置所述第一悬浮通知在所述屏幕的x轴方向的第三偏移量以及所述第一悬浮通知在所述屏幕的y轴方向的第四偏移量,以控制在所述第二悬浮通知向所述第二区域移动的过程中所述第一悬浮通知不移动。
9.根据权利要求1-2、6-7中任一项所述的方法,其特征在于,在所述在用户界面的第一区域显示第一悬浮通知和第二悬浮通知之前,所述方法还包括:
创建所述视图;
创建所述窗口,并将所述视图添加至所述窗口中;
在所述视图内添加所述第一悬浮通知和所述第二悬浮通知。
10.根据权利要求9所述的方法,其特征在于,所述在所述视图内添加所述第一悬浮通知和所述第二悬浮通知,包括:
在所述视图内添加所述第一悬浮通知;
在包含有所述第一悬浮通知的视图内添加所述第二悬浮通知。
11.根据权利要求10所述的方法,其特征在于,所述在包含有所述第一悬浮通知的视图内添加所述第二悬浮通知,包括:
在所述视图内,将所述第二悬浮通知添加至所述第一悬浮通知的上方或者下方。
12.根据权利要求10或11所述的方法,其特征在于,在所述视图内添加所述第一悬浮通知和所述第二悬浮通知之前,所述方法还包括:
设置所述第一悬浮通知和所述第二悬浮通知的尺寸,所述第一悬浮通知的尺寸和所述第二悬浮通知的尺寸相同。
13.根据权利要求1-2、6-7、10-11中任一项所述的方法,其特征在于,所述第一悬浮通知为第一应用的悬浮通知,所述第一悬浮通知包括所述第一应用的图标和/或所述第一应用的消息提醒的内容。
14.根据权利要求1-2、6-7、10-11中任一项所述的方法,其特征在于,所述第二悬浮通知为第二应用的悬浮通知,所述第二悬浮通知包括所述第二应用的图标和/或所述第二应用的消息提醒的内容。
15.根据权利要求13所述的方法,其特征在于,所述消息提醒的内容是根据应用的服务内容的变化实时更新的。
16.一种电子设备,其特征在于,包括用于执行如权利要求1至15中任一项所述方法的模块。
17.一种电子设备,其特征在于,包括:处理器和存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述计算机程序,以使所述电子设备执行如权利要求1至15中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210588425.3A CN116088715B (zh) | 2022-05-27 | 2022-05-27 | 消息提醒方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210588425.3A CN116088715B (zh) | 2022-05-27 | 2022-05-27 | 消息提醒方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116088715A CN116088715A (zh) | 2023-05-09 |
CN116088715B true CN116088715B (zh) | 2023-10-20 |
Family
ID=86205139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210588425.3A Active CN116088715B (zh) | 2022-05-27 | 2022-05-27 | 消息提醒方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116088715B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105353938A (zh) * | 2015-09-30 | 2016-02-24 | 小米科技有限责任公司 | 悬浮短信显示方法及装置 |
CN107908351A (zh) * | 2017-11-30 | 2018-04-13 | 北京小米移动软件有限公司 | 应用界面的显示方法、装置及存储介质 |
CN109684110A (zh) * | 2018-12-28 | 2019-04-26 | 北京小米移动软件有限公司 | 多媒体资源分享方法、装置及存储介质 |
CN113645351A (zh) * | 2020-04-24 | 2021-11-12 | 华为技术有限公司 | 应用界面交互方法、电子设备和计算机可读存储介质 |
CN113722027A (zh) * | 2021-04-14 | 2021-11-30 | 荣耀终端有限公司 | 一种通知消息的显示方法及电子设备 |
CN113805747A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 信息提醒方法、电子设备及计算机可读存储介质 |
CN113805744A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 窗口的显示方法和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101666271B1 (ko) * | 2014-05-30 | 2016-10-13 | 엘지전자 주식회사 | 이동 단말기의 부상 시스템 |
-
2022
- 2022-05-27 CN CN202210588425.3A patent/CN116088715B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105353938A (zh) * | 2015-09-30 | 2016-02-24 | 小米科技有限责任公司 | 悬浮短信显示方法及装置 |
CN107908351A (zh) * | 2017-11-30 | 2018-04-13 | 北京小米移动软件有限公司 | 应用界面的显示方法、装置及存储介质 |
CN109684110A (zh) * | 2018-12-28 | 2019-04-26 | 北京小米移动软件有限公司 | 多媒体资源分享方法、装置及存储介质 |
CN113645351A (zh) * | 2020-04-24 | 2021-11-12 | 华为技术有限公司 | 应用界面交互方法、电子设备和计算机可读存储介质 |
CN113722027A (zh) * | 2021-04-14 | 2021-11-30 | 荣耀终端有限公司 | 一种通知消息的显示方法及电子设备 |
CN113805747A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 信息提醒方法、电子设备及计算机可读存储介质 |
CN113805744A (zh) * | 2021-08-12 | 2021-12-17 | 荣耀终端有限公司 | 窗口的显示方法和电子设备 |
Non-Patent Citations (2)
Title |
---|
Building desktop applications with Web services in a message-based MVC paradigm;Xiaohong Qiu;《Proceedings. IEEE International Conference on Web Services, 2004.》;全文 * |
实现基于分割窗口的位图显示与通信;孙翠丽;《河北科技大学学报》;第22卷(第3期);67 * |
Also Published As
Publication number | Publication date |
---|---|
CN116088715A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020238774A1 (zh) | 一种通知消息的预览方法及电子设备 | |
WO2021036571A1 (zh) | 一种桌面的编辑方法及电子设备 | |
WO2021000881A1 (zh) | 一种分屏方法及电子设备 | |
EP3846427B1 (en) | Control method and electronic device | |
US20240192835A1 (en) | Display method and related apparatus | |
US12028477B2 (en) | Display method applied to electronic device, graphical user interface, and electronic device | |
WO2022095744A1 (zh) | Vr显示控制方法、电子设备及计算机可读存储介质 | |
WO2022161119A1 (zh) | 一种显示方法及电子设备 | |
CN116089056B (zh) | 用于图像绘制的方法及相关装置 | |
WO2021042881A1 (zh) | 消息通知方法及电子设备 | |
WO2023241544A1 (zh) | 组件预览的方法和电子设备 | |
CN117784991A (zh) | 最近任务列表的显示方法及电子设备 | |
CN116088715B (zh) | 消息提醒方法及电子设备 | |
CN115237297B (zh) | 显示日程的方法及相关装置 | |
CN116095225B (zh) | 终端设备的图像处理方法及装置 | |
WO2023246604A1 (zh) | 手写输入方法及终端 | |
CN115328592B (zh) | 显示方法及相关装置 | |
WO2024087961A1 (zh) | 显示方法和穿戴式设备 | |
WO2023040613A1 (zh) | 人机交互方法、计算机可读介质和电子设备 | |
WO2024199196A1 (zh) | 一种桌面管理方法、系统和电子设备 | |
WO2023226922A1 (zh) | 卡片管理方法、电子设备及计算机可读存储介质 | |
WO2022022381A1 (zh) | 生成涂鸦图案的方法、装置、电子设备及存储介质 | |
WO2023236693A1 (zh) | 应用图标的显示方法及相关装置 | |
WO2022206709A1 (zh) | 应用程序的组件加载方法及相关装置 | |
CN117389437A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |