CN114691002A - 一种页面滑动的处理方法及相关装置 - Google Patents
一种页面滑动的处理方法及相关装置 Download PDFInfo
- Publication number
- CN114691002A CN114691002A CN202011468134.8A CN202011468134A CN114691002A CN 114691002 A CN114691002 A CN 114691002A CN 202011468134 A CN202011468134 A CN 202011468134A CN 114691002 A CN114691002 A CN 114691002A
- Authority
- CN
- China
- Prior art keywords
- displacement
- module group
- time
- module
- time period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 20
- 238000006073 displacement reaction Methods 0.000 claims abstract description 1054
- 230000033001 locomotion Effects 0.000 claims abstract description 213
- 230000002829 reductive effect Effects 0.000 claims abstract description 69
- 238000013016 damping Methods 0.000 claims description 123
- 238000000034 method Methods 0.000 claims description 101
- 230000001965 increasing effect Effects 0.000 claims description 72
- 238000009826 distribution Methods 0.000 claims description 48
- 230000007423 decrease Effects 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000002441 reversible effect Effects 0.000 description 86
- 230000000694 effects Effects 0.000 description 73
- 238000010586 diagram Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 30
- 230000006854 communication Effects 0.000 description 30
- 230000008859 change Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 29
- 230000003247 decreasing effect Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 230000001133 acceleration Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 230000000670 limiting effect Effects 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 6
- 210000000988 bone and bone Anatomy 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 229910019640 S1-SX Inorganic materials 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005483 Hooke's law Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/0485—Scrolling or panning
-
- 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
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- 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
- G06F3/0483—Interaction with page-structured environments, e.g. book metaphor
-
- 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/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
-
- 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
-
- 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
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)
- Telephone Function (AREA)
- Feedback Control In General (AREA)
Abstract
公开了一种页面滑动的处理方法,包括:检测到针对第一页面的第一模块沿第一方向的滑动操作;在第一时间段,根据滑动操作沿第二方向的位移控制第一模块组沿第二方向滑动,根据第一模块组的位移控制第二模块组基于第一预设运动规律沿第二方向滑动;第一模块组包括第一模块,第二模块组是根据该模块组的模块与第一模块的位置关系确定的;在第一时间段的截止时刻,第一模块组的位移大于等于第二模块组的位移,第一模块组和第二模块组的第一位移差大于零;在第一时间段后的第二时间段控制第二模块组在第二位移内基于第二预设运动规律滑动;相比于第二时间段的起始时刻,在其截止时刻第一位移差减小。这样,提高了页面滑动的联动性和趣味性。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种页面滑动的处理方法及相关装置。
背景技术
用户在使用电子设备的过程中,经常会滑动电子设备显示的页面,来查看该页面中的更多页面模块(例如,卡片、图标、悬浮窗口等)。目前,页面滑动过程中,所有页面模块会整体进行平移,导致页面的滑动效果单一,缺乏联动性,用户体验差。
发明内容
本申请实施例提供了一种页面滑动的处理方法及相关装置,提高页面滑动的联动性和趣味性,有效提升用户体验。
第一方面,本申请提供了一种页面滑动的处理方法,包括:电子设备检测到作用于第一页面的第一模块沿第一方向的滑动操作;响应于滑动操作,在第一时间段内,电子设备根据检测到的滑动操作沿第二方向的位移,控制第一模块组沿第二方向滑动,并根据第一模块组的位移,控制第二模块组基于第一预设运动规律沿第二方向滑动;其中,第一模块组包括第一模块,第二模块组包括第一页面中第一模块组以外的至少一个模块,第二模块组是电子设备根据第二模块组中的模块与第一模块的位置关系确定的;第二方向是根据第一方向确定的;在第一时间段,第一模块组的位移大于等于第二模块组的位移,在第一时间段的截止时刻,第一模块组和第二模块组的第一位移差大于零;根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段内第二模块组在第二方向上的第二位移;在第二时间段,控制第二模块组在第二位移内基于第二预设运动规律滑动;相比于第二时间段的起始时刻,在第二时间段的截止时刻,第一位移差减小。
本申请实施例提供中,接收用户作用于页面上的模块的滑动操作后,基于用户的滑动方向控制各模块沿第二方向滑动;其中,第二方向上的模块组间的间隔先被压缩再增大,第二方向反方向上的模块组间的间隔先被拉伸再减小;从而,提高了页面滑动的联动性和趣味性,增加了对用户的滑动操作的动态反馈,有效提升了用户体验。
在一种实现方式中,上述电子设备根据检测到的滑动操作沿第二方向的位移,控制第一模块组沿第二方向滑动,并根据第一模块组的位移,控制第二模块组基于第一预设运动规律沿第二方向滑动,包括:电子设备根据检测到的滑动操作沿第二方向的位移,在第一时间段的起始时刻,控制第一模块组开始沿第二方向滑动,并根据第一模块组的位移,在与第一时间段的起始时刻间隔第一时间差的时刻,控制第二模块组开始根据第一预设运动规律沿第二方向滑动。
在一种实现方式中,上述电子设备根据检测到的滑动操作沿第二方向的位移,控制第一模块组沿第二方向滑动,并基于第一模块组的位移,控制第二模块组根据第一预设运动规律沿第二方向滑动,包括:在第一时间段内的第一刷新周期,电子设备根据第一刷新周期的前一刷新周期内滑动操作沿第二方向的第三位移,控制第一模块组沿第二方向滑动第四位移;并根据前一刷新周期内第一模块组滑动的第四位移,控制第二模块组基于第一预设运动规律滑动第五位移;其中,第四位移等于第三位移的h倍,h大于0小于等于1,第五位移小于等于第四位移。
在一种实现方式中,当第一模块组在第一刷新周期的起始时刻的位移小于等于第二方向的最大位移时,h等于1;当第一模块组在第一刷新周期的起始时刻的位移大于第二方向的最大位移时,h大于零小于1;第二方向的最大位移,是根据在第一时间段的起始时刻,第一页面中第二方向的反方向上的第一边缘模块的位置确定的。
在一种实现方式中,上述第一方向的最大位移,等于第一边缘模块沿第二方向滑动至电子设备的显示屏的第一预设位置的位移。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第二模块组在第二方向上的第二位移,包括:根据滑动操作,确定在第二时间段第一模块组在第二方向上的第六位移;确定第二位移等于第六位移加上第一位移再减去第七位移,第七位移为第二模块组在第一时间段的截止时刻的位移;第一时间段的起始时刻到第二时间段的截止时刻,第一模块组和第二模块组在第二方向上的位移等于第一位移加上第六位移。
在一种实现方式中,所述方法还包括:在第二时间段,控制第一模块组在第六位移内基于第二预设运动规律进行滑动。
在一种实现方式中,上述第二时间段内先后包括第三时间段和第四时间段,在第二时间段,控制第二模块组在第二位移内基于第二预设运动规律滑动,具体包括:在第三时间段,控制第二模块组在第八位移内基于第一预设运动规律进行滑动,第八位移等于第一位移减去第七位移;在第四时间段,控制第二模块组在第六位移内基于第二预设运动规律进行滑动。
在一种实现方式中,在第二时间段,第一模块组和第二模块组沿第二方向的速度大于等于零,第一模块组的位移大于等于第二模块组;第二时间段的起始时刻到第二时间段内的第一时刻,第一位移差增大;第一时刻到第二时间段的截止时刻,第一位移差减小;在第二时间段的截止时刻,第一位移差等于零。
在一种实现方式中,在第二时间段的起始时刻到第二时间段的第二时刻,第一模块组在第二方向上的位移大于等于第二模块组在第二方向上的位移,第一位移差先增大后减小至零;在第二时刻到第二时间段的截止时刻,第一模块组在第二方向上的位移小于等于第二模块组在第一方向上的位移,第一位移差先增大后减小至零。
在一种实现方式中,第一模块组和第二模块组在第二时间段后停止滑动。
在一种实现方式中,上述第一位移加上第六位移大于最大位移,所述方法还包括:在第二时间段之后的第五时间段,控制第一模块组和第二模块组基于第一预设运动规律沿第二方向的反方向移动第九位移;第五时间段内,第一模块组在第二方向上的位移小于第二模块组在第二方向上的位移,第一位移差先增大再减小至零;第五时间段后第一模块组和第二模块组停止滑动;第九位移等于第一位移加上第六位移再减去最大位移。
在一种实现方式中,上述在第二时间段之后的第五时间段,控制第一模块组和第二模块组基于第一预设运动规律沿第二方向的反方向移动第九位移,包括:在第五时间段的起始时刻,控制第一模块组开始基于第一预设运动规律沿第二方向的反方向移动第九位移;在与第五时间段的起始时刻间隔第二时间差的时刻,控制第二模块组开始基于第一预设运动规律沿第二方向的反方向移动第九位移。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第二模块组在第二方向上的第二位移,包括:根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第二模块组在第二方向上的第二位移为第一位移减去第七位移。
在一种实现方式中,上述第一模块组在第一时间段后停止滑动,第二模块组在第二时间段后停止滑动。
在一种实现方式中,上述第一位移大于最大位移,所述方法还包括:在第二时间段之后的第六时间段,控制第一模块组和第二模块组基于第一预设运动规律沿第二方向的反方向移动第十位移;第六时间段内,第一模块组在第二方向上的位移小于第二模块组,第一位移差先增大在减小至零;第六时间段后第一模块组和第二模块组停止滑动。
在一种实现方式中,所述方法还包括:响应于滑动操作,在第一时间段内,电子设备根据第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动;其中,第三模块组包括第一页面中第一模块组和第二模块组以外的至少一个模块,第三模块组是电子设备根据第三模块组中的模块与第一模块的位置关系确定的;在第一时间段,第二模块组的位移大于等于第三模块组的位移,在第一时间段的截止时刻,第一模块组和第二模块组的第二位移差大于零;根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移;在第二时间段,控制第三模块组在第十二位移内基于第二预设运动规律滑动;相比于第二时间段的起始时刻,在第二时间段的截止时刻,第二位移差减小。
在一种实现方式中,上述在第一时间段内,电子设备根据第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动,包括:在第一时间段内,电子设备根据第一模块组的位移,在与第一时间段的起始时刻间隔第三时间差的时刻,控制第三模块组开始根据第一预设运动规律沿第二方向滑动,第三时间差大于第一时间差。
在一种实现方式中,上述在第一时间段内,电子设备根据第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动,包括:在第一时间段内的第一刷新周期,电子设备根据第一刷新周期的前一刷新周期内滑动操作沿第二方向的第三位移,控制第一模块组沿第二方向滑动第四位移;并根据前一刷新周期内第一模块组滑动的第四位移,控制第三模块组基于第一预设运动规律滑动第十一位移;其中,第四位移等于第三位移的h倍,h大于0小于等于1,第十一位移小于等于第五位移。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移,包括:确定第十二位移等于第六位移加上第一位移减去第十三位移,第十三位移为第三模块组在第一时间段的截止时刻的位移;第二时间段的截止时刻,第三模块组在第二方向上的位移等于第一位移加上第六位移。
在一种实现方式中,上述第二时间段内先后包括第七时间段和第八时间段,在第二时间段,控制第三模块组在第十二位移内基于第二预设运动规律滑动,具体包括:在第七时间段,控制第三模块组在第十四位移内基于第一预设运动规律进行滑动,第十四位移等于第一位移减去第十三位移;在第八时间段,控制第三模块组在第六位移内基于第二预设运动规律进行滑动。
在一种实现方式中,在第二时间段,第三模块组沿第二方向的速度大于等于零,第二模块组的位移大于等于第三模块组;第二时间段的起始时刻到第二时间段内的第三时刻,第二位移差增大;第三时刻到第二时间段的截止时刻,第二位移差减小。
在一种实现方式中,在第二时间段的起始时刻到第二时间段的第四时刻,第二模块组在第二方向上的位移大于等于第三模块组在第二方向上的位移,第二位移差先增大后减小至零;在第四时刻到第二时间段的截止时刻,第二模块组在第二方向上的位移小于等于第三模块组在第一方向上的位移,第二位移差先增大后减小至零。
在一种实现方式中,第三模块组在第二时间段后停止滑动。
在一种实现方式中,上述第一位移加上第六位移大于最大位移,所述方法还包括:在第二时间段之后的第五时间段,控制第三模块组基于第一预设运动规律沿第二方向的反方向移动第九位移;第五时间段内,第二模块组在第二方向上的位移小于第三模块组在第二方向上的位移,第二位移差先增大再减小至零;第五时间段后第三模块组停止滑动;第九位移等于第一位移加上第六位移再减去最大位移。
在一种实现方式中,上述在第二时间段之后的第五时间段,控制第三模块组基于第一预设运动规律沿第二方向的反方向移动第九位移,包括:在与第五时间段的起始时刻间隔第四时间差的时刻,控制第三模块组开始基于第一预设运动规律沿第二方向的反方向移动第九位移,第四时间差大于第二时间差。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移,包括:根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移为第一位移减去第十三位移。
在一种实现方式中,上述第一模块组在第一时间段后停止滑动,第二模块组和第三模块组在第二时间段后停止滑动,第三模块组的停止滑动时刻晚于第二模块组的停止滑动时刻。
在一种实现方式中,上述第一位移大于最大位移,所述方法还包括:在第二时间段之后的第六时间段,控制第三模块组基于第一预设运动规律沿第二方向的反方向移动第十位移;第六时间段内,第二模块组在第二方向上的位移小于第三模块组,第一位移差先增大再减小至零;第六时间段后第三模块组停止滑动。
在一种实现方式中,上述第一模块组和第二模块组停止滑动时刻相同;或者,第一模块组的停止滑动时刻早于第二模块组停止滑动时刻;或者,第一模块组的停止滑动时刻晚于第二模块组停止滑动时刻。
在一种实现方式中,上述第一模块组、第二模块组和第二模块组停止滑动时刻相同;或者,第一模块组的停止滑动时刻早于第二模块组停止滑动时刻,第二模块组的停止滑动时刻早于第三模块组停止滑动时刻;或者,第一模块组的停止滑动时刻晚于第二模块组停止滑动时刻,第二模块组的停止滑动时刻晚于第三模块组停止滑动时刻。
在一种实现方式中,上述根据滑动操作,确定第一模块组在第二时间段沿第一方向的滑动的第六位移,包括:根据滑动操作的滑动速度、摩擦力模型和最大位移中的至少一个,确定第六位移;滑动操作的滑动速度是滑动操作停止前的瞬时速度;或者,滑动操作的滑动速度是滑动操作的平均速度。滑动操作的滑动速度越大,第六位移越大;摩擦力模型的摩擦力系数越大,第六位移越小;最大位移越大,第六位移越小。
在一种实现方式中,上述第一预设运动规律和第二预设运动规律均为临界阻尼状态下的弹性力运动规律;或者第一预设运动规律为临界状态下的弹性力运动规律,第二预设运动规律为欠阻尼状态下的弹性力运动规律;每个模块组的弹性力运动规律由该模块组的弹性力参数确定。
在一种实现方式中,上述第一时间差、第二时间差、第三时间差和第四时间差大于零;第一模块组的弹性力参数、第二模块组的弹性力参数和第二模块组的弹性力参数相等;或者,第一模块组的弹性力参数大于第二模块组的弹性力参数,第二模块组的弹性力参数大于第三模块组的弹性力参数。
在一种实现方式中,上述第一时间差和第二时间差等于零,第一模块组的弹性力参数大于第二模块组的弹性力参数,第二模块组的弹性力参数大于第三模块组的弹性力参数。
在一种实现方式中,上述第一模块组的弹性力参数大于第二模块组的弹性力参数,第二模块组的弹性力参数大于第三模块组的弹性力参数,第二模块组和第三模块组的弹性力参数是根据第一模块组的弹性力参数和传导系数确定的;其中,传导系数越大,则第一模块组和第二模块组的弹性力参数差异,以及第一模块组和第二模块组的弹性力参数差异越大;第一模块组的弹性力参数越大,第一模块组和第二模块组的弹性力参数越大。
在一种实现方式中,上述弹性力参数包括刚性系数和阻尼系数的比值;或者,弹性力参数包括刚性系数和/或阻尼系数。
在一种实现方式中,上述第二模块组中的模块和第三模块组中的模块在第一模块周围的位置分布呈现第一类型分布,且相比第三模块组,第二模块组更靠近第一模块组。
在一种实现方式中,上述第一类型分布包括:圆形分布、椭圆形分布、矩形分布、正方形分布等等。
在一种实现方式中,传导系数取值为0.9。
在一种实现方式中,刚性系数取值范围为150至400,阻尼系数的取值范围为1至99。
在一种实现方式中,刚性系数取值为228,阻尼系数的取值为30。
本申请实施例中,可以为模块组构建弹簧模型,控制模块组模拟弹簧的弹性力运动规律,即控制模块组的位移的变化规律符合弹簧的形变量的变化规律。并且通过调整各模块组的弹性力参数(即刚性系数和/或阻尼系数)和/或时间差控制各模块组在同一状态下的弹性力运动规律呈现不同的运动趋势,营造出用户手指滑动方向上的模块组间的间隔被压缩再恢复初始值,且用户手指滑动反方向上的模块组间的反向间隔被拉伸再恢复初始值的动态效果,从而提高了页面滑动的联动性,增加了对用户的滑动操作的动态反馈。
第二方面,本申请提供了一种电子设备,包括一个或多个处理器、存储器和显示屏;所述存储器、所述显示屏与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行上述第一方面中任一种可能的实现方式。
第三方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面中任一种可能的实现方式。
第四方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中任一种可能的实现方式。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2A为本申请实施例提供的一种图标的二维阵列分布示意图;
图2B为本申请实施例提供的一种图像的二维阵列分布意图;
图2C为本申请实施例提供的一种图标的无规则分布示意图;
图2D为本申请实施例提供的一种方形屏幕示意图;
图2E为本申请实施例提供的一种限位布局示意图;
图2F为本申请实施例提供的一种非限定布局示意图;
图3A至图3F为本申请实施例提供的二维阵列分布的模块组示意图;
图3G为本申请实施例提供的无规则分布的模块组示意图;
图3H为本申请实施例提供的二维阵列分布的模块组示意图;
图4A和图4B为本申请实施例提供的页面模块的滑动方向示意图;
图4C为本申请实施例提供的边缘模块和最大位移示意图;
图4D为本申请实施例提供的模块循环示意图;
图5A为本申请实施例提供的一种沿正右方的未过界的页面滑动效果示意图;
图5B为本申请实施例提供的一种沿右上方的未过界的页面滑动效果示意图;
图5C为本申请实施例提供的一种变更滑动方向的未过界的页面滑动效果示意图;
图5D为本申请实施例提供的另一种沿正右方的未过界的页面滑动效果示意图;
图5E至图5G为本申请实施例提供的未过界的页面模块的位移变化的曲线示意图;
图6A为本申请实施例提供的起始滑动时间差的页面滑动效果;
图6B为本申请实施例提供的停止滑时间差的页面滑动效果;
图6C为本申请实施例提供的设置起始滑动时间差和停止滑时间差的位移变化曲线示意图;
图7A为本申请实施例提供的未过界的页面回弹的页面滑动效果的示意图;
图7B至图7D为本申请实施例提供的未过界的页面回弹的位移变化的曲线示意图;
图8A为本申请实施例提供的一种边缘页面模块的示意图;
图8B为本申请实施例提供的过界回弹的页面滑动效果的示意图;
图8C为本申请实施例提供的一种过界回弹的页面模块的位移变化的曲线示意图;
图8D为本申请实施例提供的另一种过界回弹的页面滑动效果的示意图;
图8E为本申请实施例提供的另一种过界回弹的页面模块的位移变化的曲线示意图;
图8F为本申请实施例提供的另一种过界回弹的页面滑动效果的示意图;
图8G为本申请实施例提供的另一种过界回弹的页面模块的位移变化的曲线示意图;
图9A为本申请实施例提供的一种页面滑动的处理方法的流程示意图;
图9B和图9C为本申请实施例提供的无回弹的页面滑动的处理方法的流程示意图;
图9D为本申请实施例提供的过界回弹的页面滑动的处理方法的流程示意图;
图10为本申请实施例提供的页面滑动的系统示意图;
图11A为本申请实施例提供的摩擦力模型中速度V和时间t的曲线图;
图11B为本申请实施例提供的摩擦力模型中速度S(t)和时间t的曲线图;
图12A为本申请实施例提供的弹簧的临界阻尼运动状态的示意图;
图12B为本申请实施例提供的弹簧的欠阻尼运动状态的示意图;
图12C为本申请实施例提供的弹簧的过阻尼运动状态的示意图;
图13A和图13B为本申请实施例提供的位移变化的曲线示意图;
图14A至图14D为本申请实施例提供的页面模块的滑动时间示意图;
图15为本申请实施例提供的一种动画实现原理图;
图16为本申请实施例提供的一种页面滑动的处理方法的流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面对本申请实施例中涉及的电子设备100进行介绍。
图1示出了电子设备100的结构示意图。
电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备的具体类型不作特殊限制。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial 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)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器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)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备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的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamicrandom access memory,DRAM)、同步动态随机存储器(synchronous dynamic randomaccess memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data ratesynchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5 SDRAM)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universal flashstorage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备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)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。
下面对本申请实施例涉及的相关概念进行解释说明,以便本领域技术人员理解。
页面:本申请的说明书和权利要求书及附图中的术语“页面”也可以被称为“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、<VideoView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markup language,HTML),层叠样式表(cascadingstyle sheets,CSS),java脚本(JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如HTML通过<p>、<img>、<video>、<canvas>来定义网页的元素和属性。
本申请实施例中,控件可以包括但不限于:窗口(window)、滚动条(scrollbar)、表格视图(tableview)、按钮(button)、菜单栏(menu bar)、文本框(text box)、导航栏、工具栏(toolbar)、图像(lmage)、静态文本(tatictext)、部件(Widget)等可视的界面元素。
页面模块:根据页面中控件的布局和属性,可以将页面划分为多个连续的页面模块。一个页面模块可以承载图片、文本、操作按钮、链接、动画、声音、视频等中的一或多种元素类型。一个页面模块可以呈现为一或多个控件的集合。例如,页面模块可以呈现为主界面上的一个图标、图库中一张图片、负一屏中的一张卡片等等。本申请实施例中,不同页面模块可以有重叠,也可以没有重叠。本申请实施例中,页面模块也可以简称为模块。
下面结合附图对本申请实施例提供的页面模块的排列方式介绍。
在本申请的一些实施例中,电子设备100的显示屏194不能显示出页面的所有内容,用户可以通过页面滑动来查看该页面中的更多内容。该页面显示在显示屏194中的显示内容可以包括该页面的一或多个连续的页面模块的部分或全部。
本申请实施例中,页面中的页面模块可以呈现为一维纵向排列,还可以呈现为一维横向排列,还可以呈现为二维阵列式排列,还可以呈现为无规则排列,本申请实施例对此不做具体限定。
示例性的,图2A和图2B示出了本申请实施例提供的一种二维阵列式排列的页面示意图。如图2A所示,电子设备100的页面10包括多个已安装的应用程序的图标,一个页面模块可以呈现为一个应用程序的图标,上述多个已安装的应用程序的图标在页面10中呈现为二维阵列式排列。如图2B所示,电子设备100的页面11包括相册中的多张图片,一个页面模块可以呈现为一张图片,上述多张图片在页面11中呈现为二维阵列式排列。
示例性的,图2C示出了本申请实施例提供的一种无规则排列的页面示意图。如图2C所示,电子设备100的多个已安装的应用程序的图标在页面10中呈现为无规则排列。
在图2A和图2C中,电子设备100可以接收用户作用于页面10的滑动操作,响应于该滑动操作,电子设备100可以移动各图标在页面10中的位置,从而显示出更多已安装的应用程序的图标。在图2B中,电子设备100可以接收用户作用于页面11的滑动操作,响应于该滑动操作,电子设备100可以移动各图片在页面11中的位置,从而显示出更多相册中的图片。
图2A至图2C中,电子设备100的屏幕为圆形屏幕。需要说明的是,圆形屏幕仅是本申请实施例的示例性说明,不应对本申请实施例构成限定。不限于圆形屏幕,本申请实施例提供的页面滑动处理方法还适用于矩形屏幕、方形屏幕、不规则屏幕等等。示例性的,图2D示出了一种方形屏幕的页面模块示意图。需要说明的是,图2A至图2D仅仅是本申请实施例提供的示例性页面,电子设备100可以显示比图示更多或更少的页面模块。此外,除了图示的页面模块,电子设备100显示的页面还可以包括其他页面元素,例如状态栏、悬浮菜单等等,本申请实施例对此不做具体限定。
此外,在本申请实施例中,基于页面模块在显示屏194上的显示位置,页面模块的布局方式还可以分为两类,即限位布局方式和非限位布局方式。
限位布局方式中电子设备100仅在显示屏194的预设位置显示页面模块。针对这类布局方式,电子设备100可以接收作用于页面模块的滑动操作,响应于上述滑动操作,电子设备100控制页面模块在显示屏194上滑动。相比页面模块滑动前,当页面模块均停止滑动时,页面模块间相对位置不变,且电子设备100仅在预设位置显示页面模块。在一种实现方式中,以页面模块中心的点作为上述预设位置的参考点,即页面模块停止滑动时,页面模块中心的点位于上述预设位置。需要说明的是,上述预设位置可以是显示屏上的预设像素点,且相邻预设像素点的距离大于预设值,例如该预设值为1。可以理解,预设像素点在显示屏上是不连续的,即页面模块在显示屏上显示的预设位置是不连续的。
在本申请的一些实施例中,也可以通过限定上述相邻预设像素点的最小距离,避免页面模块间有重叠。
示例性的,如图2E的(a)所示,页面模块呈二维阵列分布,电子设备100仅在显示屏194的5个预设位置分别显示页面模块101、页面模块102、页面模块103、页面模块104和页面模块105,用户的手指在显示屏194上向下滑动,响应于该滑动操作,各页面模块在显示屏上滑动。如图2E的(b)所示,当页面模块停止滑动时,电子设备100在上述5个预设位置分别显示页面模块106、页面模块107、页面模块101、页面模块108和页面模块103,即图2E的(b)中页面模块(例如页面模块101)和图2E的(a)中页面模块(例如页面模块103)的显示位置相同。需要说明的是,不限于图2E所示的显示屏显示3行3列页面模块,显示屏也可以显示n行m列页面模块,其中,n和m可以相等,也可以不相等。例如,显示屏可以显示4行4列页面模块,或者显示屏可以显示4行5列页面模块。此外水平方向的相邻页面模块的横向间距与垂直方向上相邻页面模块的纵向间隔可以相等,也可以不相等,此处均不作具体限定。
非限位布局方式中,电子设备100可以在显示屏194的任意位置显示页面模块,即不限定页面模块的显示位置。针对这类布局方式,电子设备100接收作用于页面模块的滑动操作,响应于上述滑动操作,页面模块在显示屏194上滑动,且当页面停止滑动时,页面模块间相对位置不变,且电子设备100可以在任意位置显示页面模块。示例性的,如图2F的(a)所示,页面模块呈二维阵列分布,用户的手指在显示屏194上向下滑动,响应于该滑动操作,各页面模块在显示屏上滑动。如图2F的(b)所示,当页面模块停止滑动时,图2F的(b)中任意一个页面模块(即页面模块101、页面模块102、页面模块103、页面模块104或页面模块105)可以和图2F的(a)中任意一个页面模块(即页面模块101、页面模块102、页面模块103、页面模块104、页面模块106、页面模块107或页面模块108)的显示位置不相同。
为了便于描述,本申请实施例中,将用户的滑动操作所作用的页面模块称为焦点模块,电子设备100可以基于页面中各页面模块与焦点模块的位置关系,将页面中的页面模块划分为多个模块组。页面滑动过程中,同一个模块组中的页面模块作为一个整体进行滑动。即同一个模块组的滑动速度和滑动方向均相同。
示例性的,如图3A和图3B所示,将用户的滑动操作所作用的页面12上的焦点模块编号为X。针对正方形的二维阵列式排列的页面模块,同一模块组中的页面模块在焦点模块四周呈现圆形分布。电子设备100将与焦点模块X的距离相同的页面模块(即焦点模块X四周属于同一圆形分布的页面模块)划分为一个模块组,并根据与焦点模块的距离的大小,对各模块组分别编号为X+1、X+2、X+3、X+4和X+5。
示例性的,如图3C和图3D所示,针对矩阵形的二维阵列式排列的页面模块,同一模块组中的页面模块在焦点模块四周呈现椭圆形分布。电子设备100将焦点模块X四周属于同一椭圆分布的页面模块划分为一个模块组,并根据该椭圆分布与焦点模块的距离的大小,对各模块组分别编号为X+1、X+2、X+3、X+4和X+5。
示例性的,如图3E和图3F所示,针对矩阵形的二维阵列式排列的页面模块,同一模块组中的页面模块在焦点模块四周呈现矩形分布。电子设备100将焦点模块X四周属于同一矩形分布的页面模块划分为一个模块组,并根据该椭圆分布与焦点模块的距离的大小,对各模块组分别编号为X+1、X+2。
不限于图3A至图3C所示的圆形分布、椭圆形分布和矩形分布,焦点模块X四周的页面模块还可以呈现其他分布,例如菱形分布、正方形分布等等。综上所述,电子设备100可以根据焦点模块X周围页面模块的分布类型,将页面12上焦点模块X以外的页面模块划分为至少一个模块组,其中,不同模块组的分布位置是以焦点模块X为参考点,按同一分布类型参照与焦点模块X的距离进行放大和缩小的。示例性的,如图3D所示,针对无规则排列的页面模块。电子设备100将与焦点模块X的距离小于等于阈值1的页面模块划分为一个模块组,并将该模块组编号为X+1;将与焦点模块X的距离大于阈值1且小于等于阈值2的页面模块划分为一个模块组,并将该模块组编号为X+2;将与焦点模块X的距离大于阈值1且小于等于阈值3的页面模块划分为一个模块组,并将该模块组编号为X+3;将与焦点模块X的距离大于阈值1且小于等于阈值4的页面模块划分为一个模块组,并将该模块组编号为X+4;将与焦点模块X的距离大于阈值1且小于等于阈值5的页面模块划分为一个模块组,并将该模块组编号为X+5。
需要说明的是,本申请实施例中,模块组X包括焦点模块X。如图3A至图3C所示,为了便于观察,模块组X+c中的页面模块在图中用数字c标识,c为正整数。例如,模块组X+2中的页面模块在图中用数字2标识。在一些实施例中,模块组X除了包括用户手指作用的焦点模块X,还可以包括其他页面模块X。示例性的,如图3H所示,模块组X包括焦点模块X,以及焦点模块X左右两边相邻的两个页面模块,然后电子设备100将模块组X四周属于同一矩形分布的页面模块划分为一个模块组,并根据该椭圆分布与焦点模块的距离的大小,对各模块组分别编号为X+1、X+2。
在在一些实施例中,对于无规则分布的页面模块和规则分布(例如二维阵列分布)的页面模块,电子设备100可以根据其他页面模块与焦点模块X的距离,将页面12上焦点模块X以外的页面模块划分为至少一个模块组。在一种实现方式中,将与焦点模块X的距离相等的页面模块划分为一组,并按照距离大小对各模块组进行编号。
在一些实施例中,用户滑动页面时,若用户手指与显示屏194的接触面同时落在两个相邻的页面模块上,则电子设备100确定与用户手指接触面更大的页面模块为焦点模块X。在一些实施例中,用户滑动页面时,若用户手指(或手写笔)与显示屏194的接触面落在页面模块间的区域,未落在页面模块上,则电子设备100确定与用户手指接触面的距离最近的页面模块为焦点模块X。
本申请实施例中,模块组X也可以被称为第一模块组,模块组X+1也可以被称为第二模块组,模块组X+2也可以被称为第三模块组。
下面以图3A所示的阵列分布为例,结合附图对本申请实施例提供的页面滑动效果介绍。需要说明的是,本申请实施例提供的页面滑动的处理方法同样适用于以图3B、图3C或图3D所示的排列方式进行排列的页面模块。
首先对本申请实施例涉及的页面模块(或模块组)的滑动方向进行介绍。
在本申请的一些实施例中,参考如图4A所示的角度坐标系,页面模块可以具有四个滑动方向,分别为正右方(0°)、正上方(90°)、正左方(180°)和正下方(-90°),用户可以滑动页面模块沿上述四个滑动方向进行滑动。可以理解,当用户手指的滑动方向在45°至-45°之间时,电子设备100控制页面模块沿正右方滑动;当用户手指的滑动方向在45°至135°之间时,电子设备100控制页面模块沿正上方滑动;当用户手指的滑动方向在135°至-135°之间时,电子设备100控制页面模块沿正左方滑动;当用户手指的滑动方向在-135°至-45°之间时,电子设备100控制页面模块沿正下方滑动。
在本申请的一些实施例中,参考如图4B所示的角度坐标系,页面模块可以具有8个滑动方向,分别为正右方(0°)、右上方(45°)、正上方(90°)、左上方(135°)、正左方(180°)、左下方(-135°)、正下方(-90°)和右下方(-45°),用户可以滑动页面模块沿上述八个滑动方向进行滑动。可以理解,当用户手指的滑动方向在22.5°至-22.5°之间时,电子设备100控制页面模块沿正右方滑动;当用户手指的滑动方向在22.5°至67.5°之间时,电子设备100控制页面模块沿右上方滑动;当用户手指的滑动方向在67.5°至112.5°之间时,电子设备100控制页面模块沿正上方滑动;当用户手指的滑动方向在112.5°至112.5°之间时,电子设备100控制页面模块沿左上方滑动。
在本申请的一些实施例中,页面模块可以沿任意方向滑动。可以理解,电子设备100接收作用于焦点模块X沿方向1的滑动操作,响应于检测到的上述滑动操作,电子设备100控制各模块组沿方向1进行滑动。需要说明的,本申请实施例中提及的正右方、正上方、正左方、正下方、右上方、左上方、左下方和右下方均是相对的,是具体实现方式中的示例性地描述,不应对本申请实施例构成限定。
下面对本申请实施例涉及的边缘页面模块、页面模块(模块组)的最大位移、过界、回弹等概念进行介绍。
本申请实施例中,页面模块(或模块组)的位移是页面模块(或模块组)滑动距离在滑动方向上的投影。页面模块滑动过程中,电子设备100通过显示页面变化过程中的多帧图像,呈现页面模块滑动的动态效果,可以理解,页面模块1的位移是上述多帧图像中该页面模块的预设点(例如页面模块的中心点)对应的多个离散的像素点,沿页面模块1的滑动方向形成的位移。
需要说明的是,本申请实施例中,在时间段1,页面模块(或模块组)的位移可以指从该时间段的起始时刻到该时间段的截止时刻沿页面模块(或模块组)的沿滑动方向滑动的位移;在时刻1,页面模块(或模块组)的位移可以指从页面模块(或模块组)的起始滑动时刻到上述时刻1沿页面模块(或模块组)的沿滑动方向滑动的位移。
本申请实施例中,页面模块1和页面模块2的沿滑动方向(例如方向1)的位移差等于页面模块1沿滑动方向的位移和页面模块2沿滑动方向的位移之差的绝对值,位移差大于等于0。
在本申请的一些实施例中,页面显示的页面模块数量有限,页面显示的页面模块均包括边缘页面模块。示例性的,参见图4C,图示的最左侧一列页面模块是页面12中的边缘页面模块,即该列页面模块左侧没有其他页面模块。如图4D的(a)所示,电子设备100可以接收用户沿方向1(正右方)的滑动操作,响应于该滑动操作,电子设备100控制各模块组沿方向1滑动,页面停止滑动时,显示屏194显示的边缘页面模块与显示屏194的边缘的最大值为图4D的(b)所示的预设值1,因此,各模块组沿方向1的滑动位移存在最大位移Smax。可以理解,由于页面显示的页面模块数量有限,页面在每个滑动方向的反方向上包括边缘页面模块,因此页面模块停止滑动时各模块组沿滑动方向上的位移受最大位移Smax值约束。
本申请实施例中,针对下述情况:“检测到用户停止滑动操作前,电子设备100控制模块组X滑动SX1,检测到用户停止滑动操作后,电子设备100基于上述滑动操作确定模块组X继续滑动SX2,若SX1+SX2大于最大位移Smax,则显示屏194显示的边缘页面模块与显示屏194的边缘的距离大于预设值1”,本申请实施例中简称为过界。
本申请实施例中,针对下述情况:“页面模块滑动过程中,页面模块沿滑动方向滑动后,又沿滑动方向的反方向进行滑动”,本申请实施例中简称为回弹。
此外,需要说明的是,参考图4C,电子设备100显示页面12时,显示屏194仅显示页面12的部分页面模块,对于未显示的页面模块电子设备100可以不进行渲染。
下面进一步介绍用户手指停止滑动前后,如何确定模块组X继续沿滑动方向滑动的位移,以及各模块组的总位移。
在本申请的一些实施例中,电子设备100实时检测用户手指的滑动操作,在用户停止滑动操作前,基于用户手指的滑动方向确定各模块组的滑动方向,确定模块组X的位移等于用户手指沿模块组的滑动方向的滑动距离。检测到用户停止滑动操作后,电子设备100基于用户停止滑动操作时的瞬时滑动方向确定停止滑动操作后各模块组的滑动方向,并可以基于上述滑动操作的滑动速度、摩擦力模型、最大位移和限位布局的限定距离中的至少一个确定用户停止滑动操作后模块组X的位移SX2。上述滑动操作的滑动速度可以是用户松手前的瞬时速度,也可以是上述滑动操作的平均速度。各模块组的总位移等于用户停止滑动操作前模块组X的位移SX1加上SX2。
在一些实施例中,当用户手指滑动方向和页面模块滑动方向一致时,在检测到用户的滑动操作后,控制模块组X跟随用户的手指同步进行滑动。
针对非限位布局方式,在一些实施例中,电子设备100利用摩擦力模型确定用户停止滑动操作后模块组X的位移SX2。需要说明的是,摩擦力模型中位移SX2与滑动操作的滑动速度和摩擦力系数相关,上述滑动速度越大位移SX2越大;摩擦力系数越大位移SX2越小。在一些实施例中,电子设备100利用摩擦力模型确定用户停止滑动操作后模块组X的位移、总位移1和最大位移Smax,并确定实际总位移等于上述总位移1和Smax中的较小值,然后确定用户停止滑动操作后模块组X的实际位移SX2等于上述实际总位移减去位移SX1。在一些实施例中,电子设备100利用预设的速度位移映射表确定用户停止滑动操作后模块组X的位移SX2,上述速度位移映射表中包括多个速度范围与位移的映射关系,用户停止滑动操作后,电子设备100确定位移SX2为上述速度位移映射表中与上述滑动操作的滑动速度对应的位移。在一些实施例中,检测到用户停止滑动操作后,电子设备100控制模块组X停止滑动,确定模块组X当前位移为各模块组的总位移。
针对限位布局方式,页面模块仅分布在页面的预设位置,模块组的滑动方向上包括上述预设位置,页面模块滑动的总位移是多个固定的限定距离中的一个,且该限定距离与滑动方向上页面模块间的间隔相关。示例性的,若图4C所示的页面模块为限位布局,页面模块沿方向1滑动的限定距离包括K倍的C1,其中C1为沿方向1的相邻页面模块的间隔,K为正整数,图4C中页面模块滑动的总位移为上述多个限定距离中的至少一个。在一些实施例中,电子设备100利用摩擦力模型确定用户停止滑动操作后模块组X的位移1、总位移1;然后确定实际总位移等于上述多个限定距离中与总位移1差值最小的限定距离,或者确定实际总位移等于上述多个限定距离中大于总位移1的最小限定距离,或者,确定实际总位移等于上述多个限定距离中小于等于Smax且与总位移1差值最小的限定距离,或者确定实际总位移等于上述多个限定距离中小于等于Smax且大于总位移1的最小限定距离;进而确定用户停止滑动操作后模块组X的实际位移SX2等于上述实际总位移减去位移SX1。在一些实施例中,电子设备100利用上述速度位移映射表确定用户停止滑动操作后模块组X的位移1,用户停止滑动操作后,电子设备100确定为上述速度位移映射表中与上述滑动操作的滑动速度对应的位移2,实际总位移为上述多个限定距离中与总位移1差值最小的限定距离,或者确定实际总位移等于上述多个限定距离中大于总位移1的最小限定距离,或者确定实际总位移等于上述多个限定距离中小于等于Smax且与总位移1差值最小的限定距离,或者确定实际总位移等于上述多个限定距离中小于等于Smax且大于总位移1的最小限定距离,其中,总位移1等于上述位移1加上SX1。
针对限位布局方式,在一些实施例中,参考上述非限位布局方式确定位移SX2。检测到用户停止滑动操作后,电子设备100控制模块组X继续滑动SX2。若模块组X滑动SX2后在页面中位置不是限位布局的预设位置,则电子设备100控制模块组X滑动到最近的限位布局的预设位置,并控制其他模块组滑动SX1+SX2后,也跟随模块组X滑动到最近的限位布局的预设位置。
由前述实施例可知,在一些实施例中,电子设备100基于最大位移确定用户停止滑动操作后模块组X的位移SX2,位移SX2小于等于最大位移Smax,页面滑动过程中,不会发生页面过界。在一些实施例中,电子设备100未基于最大位移确定用户停止滑动操作后模块组X的位移SX2,位移SX2存在大于最大位移Smax的可能,当位移SX2大于最大位移Smax时,显示屏194显示的边缘模块与显示屏边缘的距离大于预设值1,发生页面过界。页面过界的情况下,电子设备100控制各模块组X滑动到位移SX1+SX2后,控制各模块组沿方向1的反方向滑动,将总位移回弹至Smax,回弹距离等于SX1+SX2-Smax。
此外,在一些实施例中,将滑动方向上的边缘页面模块与滑动方向的反方向上的边缘页面模块连接起来,各模块组的总位移不受最大位移的约束。示例性的,参见图4D的(a),图示的最左侧一列页面模块是页面12的边缘页面模块1,最右侧一列页面模块是页面12的边缘页面模块2。如图4D的(a)和图4D的(b)所示,电子设备100可以接收用户沿方向1(正右方)的滑动操作,响应于该滑动操作,电子设备100控制各模块组沿方向1滑动,滑动过程中若电子设备100显示边缘页面模块1后继续向方向1滑动,电子设备100将显示边缘页面模块1;即将方向1的边缘页面模块与方向1的反方向上的边缘页面模块连接起来,形成循环滚动,使得页面模块的总位移不受最大位移限制。
下面以模块组X、模块组X+1、模块组X+2为例,结合附图对本申请实施例提供的页面滑动效果进行说明。
本申请实施例中页面滑动效果主要包括未过界无回弹的页面滑动效果、未过界有回弹的页面滑动效果、跟手过界回弹的页面滑动效果和松手过界回弹的页面滑动效果。下面对上述四类页面滑动效果进一步说明。
一、未过界无回弹的页面滑动效果
首先通过图5A至图5D所示的页面滑动效果,从多个滑动方向对本申请实施例提供的无回弹的页面滑动效果进行介绍。图5A至图5D中页面滑动过程中未过界,即各模块组的总位移小于等于最大位移。
在本申请的一些实施例中,用户可以控制页面模块沿正右方、正上方、正左方或正下方滑动。
示例性的,如图5A所示,在t11时刻至t12时刻,用户的手指以页面模块X所在区域为起点在显示屏194上沿方向1滑动SU,电子设备100检测到作用于页面模块X的上述滑动操作后,控制页面12上的各模块组沿方向1滑动S1,S1小于等于最大位移Smax。如图5A所示,方向1可以是电子设备100的正右方。
为了便于描述,下面将模块组X+v-1和模块组X+v间沿方向1的间隔距离表征为正向间隔F(X+v-1,X+v),将模块组X+v-1和模块组X+v间沿方向1的反方向的间隔距离表征为反向间隔B(X+v-1,X+v),其中v为正整数。页面模块未滑动时,正向间隔F(X+v-1,X+v)的初始值等于模块组X+v-1和模块组X+v间沿方向1的初始距离,反向间隔B(X+v-1,X+v)的初始值等于模块组X+v-1和模块组X+v间沿方向1的反方向上的初始距离。
如图5A所示,在t11时刻至t15时刻内,模块组X的位移大于等于模块组X+1的位移,模块组X+1的位移大于等于模块组X+2的位移,在t15时刻,各模块组的总位移均等于S1。相比t11时刻,在t12时刻,模块组X的位移大于模块组X+1的位移,模块组X+1的位移大于模块组X+2的位移,使得方向1上的正向间隔F(X,X+1)和F(X+1,X+2)减小,方向1的反方向上的反向间隔B(X,X+1)和B(X+1,X+2)增大;相比t12时刻,在t13时刻,模块组X和模块组X+1的位移差增大,模块组X+1和模块组X+2的位移差增大,使得方向1上的正向间隔F(X,X+1)和F(X+1,X+2)继续减小,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)继续增大;相比t13时刻,在t14时刻,模块组X和模块组X+1的位移差减小,模块组X+1和模块组X+2的位移差减小,使得方向1上的正向间隔F(X,X+1)和F(X+1,X+2)增大,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)减小;相比t14时刻,在t15时刻,模块组X和模块组X+1的位移差减小至0,模块组X+1和模块组X+2的位移差减小至0,使得方向1上的正向间隔F(X,X+1)和F(X+1,X+2)增大至各正向间隔的初始值,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)减小至各反向间隔的初始值。在t15时刻,图5A所示的页面模块沿方向1的总位移均为S1,t15时刻后,图5A所示的页面模块均停止滑动。
在本申请的一些实施例中,用户还可以控制页面模块沿右上方、左上方、左下方或右下方滑动。
示例性的,如图5B所示,在t21时刻至t22时刻,用户的手指以页面模块X所在区域为起点在显示屏194上沿方向2滑动SU,电子设备100检测到作用于页面模块X的上述滑动操作后,控制页面12上的各模块组沿方向1滑动S2,S1小于等于最大位移Smax。如图5B所示,方向2可以是电子设备100的右上方。
如图5B所示,在t21时刻至t25时刻内,模块组X的位移大于等于模块组X+1的位移,模块组X+1的位移大于等于模块组X+2的位移,在t15时刻,各模块组的总位移均等于S1。类似于图5A所示的页面滑动效果,相比t21时刻,在t22时刻(以及相比于t22时刻,在t23时刻),模块组X和模块组X+1的位移差增大,模块组X+1和模块组X+2的位移差增大,使得方向2上的正向间隔F(X,X+1)和F(X+1,X+2)减小,方向2的反方向上的反向间隔B(X,X+1)和B(X+1,X+2)增大;相比t23时刻,在t24时刻(以及相比于t24时刻,在t25时刻),模块组X和模块组X+1的位移差增大,模块组X+1和模块组X+2的位移差增大,使得正向间隔F(X,X+1)和F(X+1,X+2)增大,反向间隔B(X,X+1)和B(X+1,X+2)减小。在t25时刻,正向间隔F(X,X+1)和F(X+1,X+2)增大至各正向间隔的初始值,反向间隔B(X,X+1)和B(X+1,X+2)减小至各反向间隔的初始值。在t25时刻,图5B所示的页面模块沿方向2的总位移均为S2,t25时刻后,图5B所示的页面模块均停止滑动。
在本申请的一些实施例中,用户可以在控制页面模块滑动过程中,改变页面模块的滑动方向。
示例性的,如图5C所示,在t31时刻至t32时刻,用户的手指以页面模块X所在区域为起点在显示屏194上沿方向3滑动S3,电子设备100检测到作用于模块组X的上述滑动操作后,控制页面12上的各模块组沿方向3滑动S3。且在t32时刻,用户的手指改变滑动方向改变为方向4,在t32时刻至t33时刻,用户的手指按着模块组X沿方向4继续滑动,电子设备100检测到作用于模块组X的上述滑动操作后,控制页面12上的所有页面模块在沿方向3滑动S3后,沿方向4滑动S4。
如图5C所示,t31时刻至t36时刻内,模块组X、模块组X+1以及模块组X+2先沿方向3滑动S3,然后沿方向4滑动S4。相比t31时刻,在t32时刻,模块组X和模块组X+1沿方向1的位移差增大,模块组X+1和模块组X+2沿方向1的位移差增大,使得方向3上的正向间隔F(X,X+1)和F(X+1,X+2)由初始距离减小,方向3的反方向上的反向间隔B(X,X+1)和B(X+1,X+2)由初始距离增大。在t32时刻,模块组X的位移等于S3。相比t32时刻,在t33时刻(以及相比于t33时刻,在t34时刻),模块组X和模块组X+1沿方向4的位移差增大,模块组X+1和模块组X+2沿方向4的位移差增大,使得方向4上的正向间隔F(X,X+1)和F(X+1,X+2)减小,方向4上的反向间隔B(X,X+1)和B(X+1,X+2)增大。相比t34时刻,在t35时刻(以及相比于t35时刻,在t36时刻),模块组X和模块组X+1沿方向4的位移差减小,模块组X+1和模块组X+2沿方向4的位移差减小,使得方向4上的正向间隔F(X,X+1)和F(X+1,X+2)增大,方向4上的反向间隔B(X,X+1)和B(X+1,X+2)减小。在t36时刻,方向4上的正向间隔F(X,X+1)和F(X+1,X+2)增大至各正向间隔的初始值,方向4上的反向间隔B(X,X+1)和B(X+1,X+2)减小至各反向间隔的初始值,图5C所示的页面模块在方向4上的位移均为S4,t36时刻后,图5C所示的页面模块均停止滑动。
本申请的一些实施例中,检测到用户停止滑动操作后,电子设备100控制模块组X停止滑动,并确定模块组X当前位移为各模块组的总位移。
示例性的,如图5D所示,在t12时刻后还包括t16时刻和t17时刻;t11至t12时刻内,各模块组的运动规律可以参考图5A。在t12时刻,模块组X的位移等于SU,模块组X+1和模块组X+2的位移小于SU。在t12时刻后,用户松手停止滑动,模块组X也停止滑动,模块组X+1和模块组X+2继续沿方向1滑动至位移SU。相比t12时刻,在t16时刻,模块组X和模块组X+1的位移差减小,方向1上的正向间隔F(X,X+1)和F(X+1,X+2)增大,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)减小;相比t16时刻,在t17时刻,模块组X和模块组X+1的位移差继续减小至零,方向1上的正向间隔F(X,X+1)和F(X+1,X+2)继续增大至各正向间隔的初始值,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)继续减小至各反向间隔的初始值。在t17时刻,各模块的速度减小至0后停止滑动,各模块的总位移等于SU。参见图5A至图5D,本申请实施例提供的页面滑动效果中,用户手指滑动方向上的模块组间的正向间隔先被压缩再恢复初始值,用户手指滑动反方向上的模块组间的反向间隔被拉伸再恢复初始值,从而呈现出类似于弹簧的拉伸与压缩的动态效果,增加了对用户的滑动操作的动态反馈,提高了滑动操作的趣味性,有效提升了用户体验。
下面以图5A和图5D为例,对无回弹的页面滑动效果中各模块的运动规律做进一步介绍。
需要说明的是,从用户的手指在显示屏上开始滑动,到电子设备100检测到上述滑动操作并控制模块组X开始滑动的这段时间差(为便于描述,该时间差简称为检测时延),导致模块组X的起始滑动时刻会晚于用户手指的起始滑动时刻。
需要说明的是,上述检测时延通常非常小,从用户视角来看,模块组X与用户的手指同步开始滑动。
示例性,图5E和图5F是本申请实施例提供的两种图5A中各模块组的位移曲线图。
如图5E所示,在t11时刻,用户的手指在显示屏194上以模块组X所在区域为起点开始滑动,电子设备100响应于检测到上述滑动操作后,基于上述实时检测的滑动操作的沿方向1的位移su,控制模块组X从t11a时刻跟随用户手指开始滑动。在t12时刻,用户的手指停止滑动,此时,用户的手指沿模块组的滑动方向的位移为SU。在t12a时刻,响应于检测到的滑动操作,电子设备100控制模块组X滑动至SX1,SX1等于用户手指的总位移SU;并且响应于检测到的用户停止上述滑动操作,电子设备100基于上述滑动操作的滑动速度、摩擦力模型、限位布局方式的限定距离中的至少一个确定模块组X在t12a时刻后的位移SX2以及模块组X在t11a时刻后的总位移S1,在t12a时刻后,电子设备100控制模块组X在位移SX2内按照预设运动规律进行滑动。在一些实施例中,上述总位移S1小于t11时刻页面模块的最大位移Smax。
可以理解,在检测到用户停止滑动操作前,模块组X的位移等于电子设备100检测到的用户手指沿模块组的滑动方向的位移。在t11a时刻至t12a时刻内,模块组X的位移曲线是t11时刻至t12时刻内用户手指的位移曲线的平移。需要说明的是,t11时刻至t12时刻内用户手指沿模块组的滑动方向的位移曲线可以是有规则的线性曲线(例如,匀速曲线或加速曲线等等),也可以是无规则曲线。示例性的,图5F和图5G是本申请实施例提供的t11时刻至t12时刻内用户手指无规则运动的位移曲线图。
在一些实施例中,在t11a时刻至t12a时刻,电子设备100控制模块组X+1和模块组X+2基于模块组X的位移,按照预设运动规律进行滑动。例如,电子设备100确定第二刷新周期内模块组X的位移Δsx,在第一刷新周期内,控制模块组X+1和模块组X+2基于Δsx,按照预设运动规律进行滑动,以实现t11a时刻至t12a时刻内相邻模块组间位移差变大的滑动效果。即第一刷新周期内,模块组X+1的位移小于Δsx,模块组X+2的位移小于模块组X+1的位移。其中,第二刷新周期是第一刷新周期的前一个刷新周期。
图5E和图5F中,各模块组的起始滑动时刻相同;或者,其他模块组比模块组X晚一个刷新周期开始滑动。由于一个刷新周期很小,所以没有在图中体现出来,从用户视角来看可以视为其他模块组和模块组X一起开始滑动。例如,刷新频率为120HZ,刷新周期为8.3ms。
本申请实施例中,模块组X滑动至位移SX1后,模块组X+1和模块组X+2有两种滑动方式,即滑动方式1和滑动方式2。
在滑动方式1中,参考图5E,在t12a时刻,模块组X的位移增大位移SX1,模块组X+1的位移增大至SX+1,模块组X+2的位移增大至SX+2,SX+1小于SX1,SX+2小于SX+1;电子设备100确定模块组X在t12a时刻后的位移SX2以及模块组X在t11a时刻后的总位移S1,并基于模块组X的总位移S1确定模块组X+1在t12a时刻后的位移为S1-SX+1,以及模块组X+2在t12a时刻后的位移为S1-SX+2。在t12a时刻后电子设备100控制模块组X+1在位移S1-SX+1内按照预设运动规律进行滑动,控制模块组X+2在位移S1-SX+2内按照预设运动规律进行滑动,从而实现图5A所示的t12a时刻到t15时刻内相邻模块组的位移差先增大再减小至0的滑动效果。
在滑动方式2中,参考图5F,在t12a时刻,模块组X的位移增大至SX1,在t12a时刻后,电子设备100控制模块组X+1和模块组X+2以SX1为目标位移按照预设运动规律进行滑动。在t12b时刻,模块组X+1的位移增大至SX1,在t12b时刻后,电子设备100控制模块组X+1在位移SX2内按照预设运动规律进行滑动;在t12c时刻,模块组X+2的位移增大至SX1,在t12c时刻后,电子设备100控制模块组X+1在位移SX2内按照预设运动规律进行滑动;从而实现图5A所示的t12a时刻到t15时刻内相邻模块组的位移差先增大再减小至0的滑动效果。
在本申请的一些实施例中,电子设备100构建虚拟弹簧模型,使得各模块组的运动规律模拟弹簧的弹性力运动规律,上述虚拟弹簧模型设置有刚性系数和阻尼系数。可以理解,弹簧的参数包括阻尼系数和刚性系数,不同的阻尼系数和/或刚性系数下,弹簧的弹性力运动包括临界阻尼状态、过阻尼状态和欠阻尼状态。因此,本申请实施例中,通过调整虚拟弹簧模型的刚性系数和阻尼系数,可以使得模块组模拟临界阻尼状态下的弹性力运动规律、过阻尼状态下的弹性力运动规律或欠阻尼状态下的弹性力运动规律。
示例性的,图5E和图5F中上述预设运动规律为临界阻尼状态下的弹性力运动,模块组模拟临界阻尼状态下的弹性力运动规律,即模块组的位移S的变化规律符合临界阻尼状态下的弹簧的形变量的变化规律,如图所示,模块组X、模块组X+1和模块X+2的刚性系数分别表示为kX、kX+1和kX+2,模块组X、模块组X+1和模块X+2的阻尼系数表示为dX、dX+1和dX+2。参考图5E和图5F,电子设备100可以调整各模块组的阻尼系数和/或刚性系数,令模块组X的阻尼系数和/或刚性系数最大,且离模块组X越远的模块组的阻尼系数和/或刚性系数越小,使得模块组X、模块组X+1和模块X+2展现出图5E和图5F中的临界阻尼状态下的位移变化趋势,进而使得模块组X、模块组X+1和模块X+2在滑动过程中展现图5A所示的动态效果,即用户手指滑动方向上的模块组间的正向间隔先被压缩后恢复初始值,且反向间隔先被拉伸后恢复初始值的页面滑动效果。
具体的,在一些实施例中,如图5E所示,在t11a至t12a时刻内,模块组X的初始速度和平均速度,分别大于模块组X+1的初始速度和平均速度,模块组X+1的初始速度和平均速度,分别大于模块组X+2的初始速度和平均速度。检测到用户停止滑动操作后,在t12a时刻至t15时刻内,各模块组的速度逐渐减小至0,且各模块组的反向加速度逐渐减小。在t12a时刻至t13时刻内,模块组X的速度大于模块组X+1的速度,模块组X+1的速度大于模块组X+2的速度,且模块组X的反向加速度大于或等于模块组X+1的反向加速度,模块组X+1的反向加速度大于或等于模块组X+2的反向加速度。在t12时刻至t13时刻内,模块组X和模块组X+1位移差逐渐增大,从而实现模块组X和模块组X+1的正向间隔F(X,X+1)减小,且反向间隔B(X,X+1)增大;在t13时刻,模块组X的速度等于模块组X+1的速度;在t13时刻至t15时刻内,模块组X的速度小于等于模块组X+1的速度,模块组X和模块组X+1位移差逐渐减小,从而实现正向间隔F(X,X+1)逐渐增大至该正向间隔的初始值,且反向间隔B(X,X+1)逐渐减小至该反向间隔的初始值。在t12时刻至t13a时刻内,模块组X+1的速度大于模块组X+2的速度,模块组X和模块组X+1位移差逐渐增大,从而实现正向间隔F(X+1,X+2)减小,且反向间隔B(X+1,X+2)增大;在t13a时刻,模块组X+1的速度等于模块组X+2的速度;在t13a时刻至t15时刻内,模块组X+1的速度小于等于模块组X+2的速度,模块组X和模块组X+1位移差逐渐减小,从而实现模块组X+1和模块组X+2的正向间隔F(X+1,X+2)增大至初始值,且反向间隔B(X+1,X+2)减小至初始值。其中,t13a时刻等于或晚于t13时刻。
需要说明的是,由于一个刷新周期很小,在前述第二刷新周期内,模块组X+1和模块组X+2的位移通常小于前述Δsx。此外,电子设备100调整模块组X+2的阻尼系数和/或刚性系数小于所述模块组X+1的阻尼系数和/或刚性系数,可以实现第二刷新周期内模块组X+2的位移小于所述第一模块组X+1的位移。
在本申请实施例中,除了弹性力运动规律,电子设备100还可以控制各模块组通过其他运动规律实现图5A所示的滑动效果,此处不做具体限定。
需要说明的是,本申请实施例中,反向加速度指的是沿页面模块滑动方向的反方向的加速度,反向加速度的值大于等于零。反向加速度也可以视为页面模块的加速度绝对值。
此外,本申请实施例中,页面模块间可以有重叠,也可以没有重叠。在一些实施例中,电子设备100可以通过设置相邻模块组的最大位移差、最小正向间隔或最小反向间隔来避免页面滑动过程中页面模块间有重叠。
示例性,图5G是本申请实施例提供的一种图5D中各模块组的位移曲线图。
如图5G所示,在t12时刻前的曲线变化可以参考图5E,此处不再赘述。在t12时刻,用户的手指停止滑动,此时,用户的手指沿模块组的滑动方向的位移为SU。在t12a时刻,响应于检测到的滑动操作,电子设备100控制模块组X继续滑动至位移SX1,SX1等于用户手指沿方向1的总位移SU;并且响应于检测到的用户停止上述滑动操作,电子设备100控制模块组X停止滑动。在t12a时刻后,电子设备100控制模块组X+1和模块组X+2以SX1为目标位移按照预设运动规律进行滑动。在一些实施例中,上述预设运动规律为临界阻尼状态下的弹性力运动规律,其中,离模块组X越远的模块组的阻尼系数和/或刚性系数越小。
不限于图5E至图5G所示的曲线,图5A中的模块组X、模块组X+1以及模块组X+2在总位移S1内位移的变化趋势还可以满足其他曲线。不限于图5G所示的曲线,图5D中模块组X+1以及模块组X+2在位移SU内位移的变化趋势还可以满足其他曲线。上述预设规律还可以是其他运动规律,在上述预设规律中各模块组的位移的变化趋势还可以是线性变化,或者其他非线性变化,各模块组的位移的变化趋势可以是连续的,也可以是不连续的,此处均不做具体限定。
需要说明的是,本申请实施例中“时刻1至时刻2内”不包括时刻1和时刻2。例如,“t11时刻至t15时刻内”不包括t11时刻和t15时刻。
在本申请的一些实施例中,各模块组的起始滑动时刻存在时间差。电子设备100检测到作用于模块组X的沿方向1的滑动操作,响应于上述滑动操作,电子设备100控制各页面模块沿方向1滑动,且相邻模块组的起始滑动时刻存在时间差,其中,靠近模块组X的模块组先滑动。
示例性的,如图6A所示,在t11时刻和t12时刻之间还可以包括t16时刻和t17时刻。电子设备100检测到作用于模块组X沿方向1的滑动操作,电子设备100控制各页面模块沿方向1滑动。t11时刻至t16时刻内,模块组X沿方向1滑动,且模块组X+1和模块组X+2的位置均不变。相比t11时刻,在t16时刻,模块组X和模块组X+1的位移差增大,模块组X+1和模块组X+2的位移均等于0,导致模块组X和模块组X+1的正向间隔F(X,X+1)减小,反向间隔B(X,X+1)增大,模块组X+1和模块组X+2的正向间隔F(X+1,X+2)和反向间隔B(X+1,X+2)不变。t16时刻至t17时刻内,模块组X继续沿方向1滑动,模块组模块X+1也开始沿方向1滑动,模块组X+2的位置不变。相比t26时刻,在t27时刻,模块组X和模块组X+1的位移差继续增大,模块组X+1和模块组X+2的位移差也增大,导致模块组X和模块组X+1的正向间隔F(X,X+1)继续减小,反向间隔B(X,X+1)继续增大,模块组X+1和模块组X+2的正向间隔F(X+1,X+2)也减小,反向间隔B(X+1,X+2)也增大。t17时刻至t12时刻内,模块组X和模块组模块X+1继续沿方向1滑动,模块组模块X+2也开始沿方向1滑动。其中,模块组X和模块组模块X+1的起始滑动时刻差为Δt1,即t11时刻和t16时刻的时间差,模块组X+1和模块组X+2的起始滑动时刻差为Δt2,即t16时刻和t17时刻的时间差。
其中,Δt1和Δt2可以是电子设备100默认设置的,也可以是用户预设的,还可以是电子设备100根据滑动操作的滑动速度确定的。此外,Δt1和Δt2可以相等,也可以不相等,此处均不做具体限定。在一种实现方式中,滑动操作的滑动速度越大,Δt1和Δt2越小。
在本申请的一些实施例中,各模块组的起始滑动时刻也可以不存在时间差。电子设备100检测到作用于模块组X的沿方向1的滑动操作,响应于上述滑动操作,电子设备100控制各模块组同时沿方向1滑动。
本申请实施例中,以图5A所示的页面滑动效果为例,各模块组的停止滑动时刻包括如下三种情况:(1)各模块组的停止滑动时刻相同,例如图5E和图5F中各模块组在t15时刻同时停止滑动;(2)相邻模块组的停止滑动时刻存在时间差,模块组组X先停止滑动,且离模块组X越远的模块组越晚停止滑动,例如,图5E和图5F中模块组X+2在t15时刻停止滑动,模块组X和模块组X+1在t15时刻之前停止滑动;(3)相邻模块组的停止滑动时刻存在时间差,模块组组X最晚停止滑动,且离模块组X越远的模块组越早停止滑动,例如,图5E和图5F中模块组X在t15时刻停止滑动,模块组X+1和模块组X+2在t15时刻之前停止滑动。下面上述情况(2)为例进一步进行介绍。
在本申请的一些实施例中,各模块组的停止滑动时刻存在时间差。电子设备100检测到作用于模块组X的沿方向1的滑动操作,响应于上述滑动操作,电子设备100控制各页面模块沿方向1滑动,且相邻模块组的停止滑动时刻存在时间差,其中,模块组X最先停止滑动,其他模块组中越靠近模块组X的模块组越先停止。
示例性的,如图6B所示,在t14时刻和t15时刻之间还包括t18时刻和t19时刻。电子设备100检测到作用于模块组X沿方向1的滑动操作,电子设备100控制各页面模块沿方向1滑动。在t14时刻至t18时刻内,各模块组均沿方向1滑动,模块组X和模块组X+1的位移差减小,模块组X+1和模块组X+2的位移差也减小,导致模块组X和模块组X+1的正向间隔F(X,X+1)增大,反向间隔B(X,X+1)减小,模块组X+1和模块组X+2的正向间隔F(X+1,X+2)也增大,反向间隔B(X+1,X+2)也减小。在t18时刻至t19时刻内,模块组X停止滑动,模块组X+1和模块组X+2继续沿方向1滑动,模块组X和模块组X+1的位移差继续减小至0,模块组X+1和模块组X+2的位移差也继续减小,导致在t19时刻,模块组X和模块组X+1的正向间隔F(X,X+1)增大至该正向间隔的初始值,反向间隔B(X,X+1)减小至该反向间隔的初始值,模块组X+1和模块组X+2的正向间隔F(X+1,X+2)也增大,反向间隔B(X+1,X+2)也减小。在t19时刻至t15时刻内,模块组X、模块组X+1位置不变,模块组X+2继续沿方向1滑动,模块组X和模块组X+1的位移差等于0,模块组X+1和模块组X+2的位移差继续减小至0,导致模块组X和模块组X+1的正向间隔F(X,X+1)和反向间隔B(X,X+1)均不变,模块组X+1和模块组X+2的正向间隔F(X+1,X+2)增大至该正向间隔的初始值,反向间隔B(X+1,X+2)减小至该反向间隔的初始值。其中,模块组X和模块X+1的停止滑动时刻差为Δt3,即t18时刻和t19时刻的时间差,模块X+1和模块X+2的停止滑动时刻差为Δt4,即t19时刻和t15时刻的时间差。
其中,Δt3和Δt4可以是电子设备100默认设置的,也可以是用户预设的,还可以是电子设备100根据其他方式确定的。Δt3和Δt4可以相等,也可以不相等,此处均不做具体限定。
在本申请的一些实施例中,各模块组的起始滑动时刻存在时间差,停止滑动时刻也存在时间差。示例性的,图6C是本申请实施例提供的另一种图5A中各模块组的位移曲线图。
如图6C所示,电子设备100响应于检测到的上述滑动操作,基于实时检测的滑动操作的位移su,控制模块组X从t11a时刻开始滑动;在t11a时刻后间隔Δt1的t11b时刻,控制模块组X+1基于模块组X的位移按照弹性力运动规律进行滑动;在t11b时刻后间隔Δt2的t11c时刻,控制模块组X+2基于模块组X的位移按照弹性力运动规律进行滑动。检测到用户停止滑动操作后,模块组X+1和模块组X+2的滑动方式可以参见前述滑动方式1和滑动方式2,此处不再赘述。如图6C所示,电子设备100控制模块组X在t14a时刻停止滑动;控制模块组X在t14a时刻后间隔Δt3的t14b时刻停止滑动;控制模块组X在t14a时刻后间隔Δt4的t15时刻停止滑动。其中,Δt1和Δt3可以相等,也可以不相等;Δt2和Δt4可以相等,也可以不相等,此处均不做具体限定。
在一种实现方式中,图6C中,模块组X的阻尼系数和/或刚性系数最大,且离模块组X越远的模块组的阻尼系数和/或刚性系数越小。在一种实现方式中,图6C中,所有模块组的阻尼系数和刚性系数均相等。当各模块组起始滑动时刻存在时间差时,上述两种实现方式均可以实现图5A所示的动态滑动效果。
二、未过界有回弹的页面滑动效果
首先通过图7A所示的页面滑动效果,对本申请实施例提供的未过界有回弹的页面滑动效果进行介绍。图7A中页面滑动过程中未过界,即各模块组的总位移小于等于最大位移。
本申请实施例中,滑动过程中页面模块可以至少回弹一次。图7A示例性地示出了一次回弹的页面滑动效果。
如图7A所示,在t41时刻至t42时刻,用户的手指以页面模块X所在区域为起点在显示屏194上沿方向1滑动SU,电子设备100检测到作用于模块组X的上述滑动操作后,控制页面12上的各模块组在方向1上的总位移为S5。在t41时刻至t44时刻内,控制各页面模块沿方向1滑动,且模块组X的位移大于模块组X+1的位移,模块组X+1的位移大于模块组X+2的位移。相比t41时刻,在t42时刻(以及相比t42时刻,在t43时刻),模块组X和模块组X+1的位移差增大,模块组X+1和模块组X+2的位移差也增大,使得方向1上的正向间隔F(X,X+1)和F(X+1,X+2)减小,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)增大;相比t43时刻,在t44时刻,模块组X和模块组X+1的位移差减小,模块组X+1和模块组X+2的位移差也减小,使得方向1上的正向间隔F(X,X+1)和F(X+1,X+2)增大,方向1上的反向间隔B(X,X+1)和B(X+1,X+2)减小。在t44时刻,模块组X沿方向1的位移为S6。在t44时刻至t47时刻内,控制模块组X沿方向1的反方向滑动。相比t44时刻,在t45时刻,模块组X和模块组X+1的位移差减小至0,模块组X+1和模块组X+2的位移差也减小;相比t45时刻,在t46时刻,模块组X和模块组X+1的位移差增大,模块组X+1和模块组X+2的位移差也增大,使得方向1上的正向间隔F(X,X+1)增大,方向1上的反向间隔B(X,X+1)减小;相比t46时刻,在t47时刻,模块组X和模块组X+1的位移差减小至0,模块组X+1和模块组X+2的位移差也减小至0,使得方向1上的正向间隔减小至各正向间隔的初始值,方向1上的反向间隔增大至各反向间隔的初始值。在t15时刻,图7A所示的页面模块的沿方向1的总位移均为S5,S5小于S6;t15时刻后,图7A所示的页面模块均停止滑动。
由图7A可知,在页面滑动过程中,模块组X、模块组X+1以及模块组X+2的位移超过总位移S5后又回弹至总位移S5。
不限于图7A所示的一次回弹,电子设备100以总位移S5为目标位移,可以控制各页面模块进行多次页面回弹。
示例性,图7B和图7C是本申请实施例提供的一种图7A中各模块组的位移曲线图。
如图7B和图7C所示,在t41时刻,用户的手指在显示屏194上以模块组X所在区域为起点开始滑动,电子设备100响应于检测到上述滑动操作后,基于上述实时检测的滑动操作的沿方向1的位移su,控制模块组X从t41a时刻跟随用户手指开始滑动。在t42时刻,用户的手指停止滑动,此时,用户的手指沿模块组的滑动方向的位移为SU。在t42a时刻,响应于检测到的滑动操作,电子设备100控制模块组X滑动至SX1,SX1等于用户手指的总位移SU;并且响应于检测到的用户停止上述滑动操作,电子设备100基于上述滑动操作的滑动速度、摩擦力模型、限位布局方式的限定距离中的至少一个确定模块组X在t42a时刻后的位移SX2以及模块组X在t41a时刻后的总位移S5,在t42a时刻后,电子设备100控制模块组X在位移SX2内按照预设运动规律进行滑动。其中,SX2和总位移的确定,可以参考前述未过界无回弹的页面滑动效果的相关实施例中SX2和总位移的确定,此处不再赘述。
在一些实施例中,类似于图5E所示的位移曲线图,在t41a时刻至t42a时刻,电子设备100控制模块组X+1和模块组X+2基于模块组X的位移,在上述目标位移内按照预设运动规律进行滑动。本申请实施例中,模块组X滑动至位移SX1后,模块组X+1和模块组X+2有两种滑动方式。具体的,图7B可以参考前述图5E相关实施例中的滑动方式1,图7C可以参考前述图5F相关实施例中的滑动方式2,其中,图7A和图7B中的t42a、t42b和t42c可以分别参考前述实施例的t12a、t12b和t12c的相关描述,此处不再赘述。
示例性的,图7B和图7C中上述预设运动规律为欠阻尼状态下的弹性力运动,模块组模拟欠阻尼状态下的弹性力运动规律,即模块组的位移S的变化规律符合欠阻尼状态下的弹簧的形变量的变化规律。电子设备100可以调整各模块组的阻尼系数和/或刚性系数,令模块组X的阻尼系数和/或刚性系数最大,且离模块组X越远的模块组的阻尼系数和/或刚性系数越小,使得模块组X、模块组X+1和模块X+2展现出图7B所示的临界阻尼状态下的位移变化趋势,从而使得模块组X、模块组X+1和模块X+2在滑动过程中展现图7A所示的页面滑动效果,图7A所示的页面滑动效果包括一次回弹。
下面以图7B中的模块组X和模块组X+1的运动趋势为例,对相邻的模块组间的运动趋势进行具体介绍。同理可以推导模块组X+1和模块组X+1间的运动趋势,下文不再赘述。
如图7B所示,在t41时刻至t45时刻内,模块组X的位移大于等于模块组X+1的位移。在t41时刻至t44时刻内,各模块组沿方向1滑动。在t42时刻至t43时刻内,模块组X的速度大于或等于模块组X+1的速度,模块组X和模块组X+1的位移差逐渐增大。在t43时刻,模块组X的速度等于模块组X+1的速度,模块组X和模块组X+1的位移差达到最大值。在t43时刻至t44时刻内,模块组X的速度小于或等于模块组X+1的速度,模块组X和模块组X+1的位移差逐渐减小。在t44时刻,模块组X达到最大位移值。在t44时刻至t47时刻内,模块组X沿方向1的反方向滑动,在t44时刻至t45时刻内,模块组X的位移大于等于模块组X+1的位移,且模块组X和模块组X+1的位移差减小。在t45时刻,模块组X和模块组X+1的位移差减小至0。在t45时刻至t47时刻内,模块组X的位移小于模块组X+1的位移。在t45时刻至t46时刻内,模块组X沿方向1的反方向移动,模块组X+1沿方向1移动,模块组X和模块组X+1的位移差逐渐增大,从而实现模块组X+1和模块组X+2的正向间隔F(X+1,X+2)减小,反向间隔B(X+1,X+2)增大。在t46时刻,模块组X+1的位移达到最大位移。在t46时刻至t47时刻内,模块组X和模块组X+1的位移差先增大再减小至0,从而实现方向1的正向间隔F(X+1,X+2)先增大再减小至初始值,反向间隔B(X+1,X+2)先减小再增大至初始值。在t47时刻,所有模块组的总位移均为S5,t15时刻后,所有模块组均停止滑动。
图7A中,在t47时刻及t47时刻之前,各模块组的停止滑动时刻也存在三种情况,具体的,可以参考前述未过界无回弹的页面滑动效果中各模块组的停止滑动时刻的三种情况,此处不再赘述。
示例性,图7A所示的页面滑动过程中,各模块组的起始滑动时刻也可以存在时间差,停止滑动时刻也可以存在时间差。如图7D所示的位移变化的曲线示意图,模块组X和模块组X+1起始滑动时刻相差Δt1,模块X+1和模块X+2的起始滑动时刻差为Δt2,模块组X和模块组X+1停止滑动时刻相差Δt3,模块X+1和模块X+2的停止滑动时刻差为Δt4。具体的,可以参考图6C的相关实施例,此处不再赘述。
三、跟手过界回弹的页面滑动效果
图8A所示,图8A所示页面中最左侧的一列页面模块为边缘页面模块。页面模块停止滑动时,电子设备100显示的边缘页面模块与电子设备100的显示屏194的边缘的最大距离为预设值1。下面以图8A所示的页面为例,对本申请实施例提供的过界回弹的页面滑动效果进行介绍。
本申请实施例中,用户的手指沿方向1(即正右方)滑动图8A所示的页面的过程中,若边缘页面模块与电子设备100的显示屏194的边缘的距离大于预设值1,则用户停止滑动操作并松手后,电子设备100控制各模块组会沿方向1的反方向滑动,直至边缘页面模块与显示屏边缘的距离回弹至预设值1。本申请实施例将上述情况下的页面滑动效果简称为跟手过界回弹界。
示例性,图8B示出了本申请过实施例提供的一种跟手过界回弹界的页面滑动效果。
如图8B所示,在t51时刻至t53时刻,用户的手指以页面模块X所在区域为起点在显示屏194上沿方向1滑动SU,SU大于当前页面沿方向1的最大位移Smax,电子设备100检测到作用于模块组X的上述滑动操作后,控制页面12上的各模块组沿方向1滑动。在t51时刻至53时刻内,模块组X、模块组X+1和模块组X+2沿方向1滑动,模块组X的位移大于模块组X+1的位移,模块组X+1的位移大于模块组X+2的位移;在t51时刻至52时刻内,显示屏194显示的边缘页面模块与显示屏194的边缘的距离小于等于预设值1,模块组X跟随用户手指同步进行滑动;在t52时刻至53时刻内,显示屏194显示的边缘页面模块与显示屏194的边缘的距离大于预设值1,模块组X滑动的速度是检测到的用户手指滑动速度(即用户手指沿模块组的滑动方向的滑动速度)的h倍,h为大于0小于等于1的预设值;t53时刻,模块组X的位移SX1小于SU。相比t51时刻,在t52时刻(以及相比t52时刻,在t53时刻),模块组X和模块组X+1的位移差增大,使得方向1上的正向间隔F(X,X+1)减小,方向1上的反向间隔B(X,X+1)增大。在t53至t55时刻,模块组X继续沿方向1滑动SX2,模块组X的位移大于等于模块组X+1的位移,模块组X+1的位移大于等于模块组X+2的位移。相比t53时刻,在t54时刻,模块组X和模块组X+1的位移差增大,使得方向1上的正向间隔F(X,X+1)减小,方向1上的反向间隔B(X,X+1)增大。相比t54时刻,在t55时刻,模块组X和模块组X+1的位移差减小至0,使得方向1上的正向间隔F(X,X+1)增大至初始值,方向1上的反向间隔B(X,X+1)减小至初始值。在t55时刻至t57时刻内,各模块组沿方向1的反方向滑动S7,模块组X沿反方向滑动距离大于等于模块组X+1的位移,模块组X+1沿反方向滑动距离大于等于模块组X+2的位移。相比t55时刻,在t56时刻(以及相比t56时刻,在t57时刻),模块组X、模块组X+1和模块组X+2向方向1的反方向移动,模块组X和模块组X+1的位移差减小,使得方向1上的正向间隔F(X,X+1)增大,反向间隔B(X,X+1)减小。在t57时刻,各模块组间的位移差减小至0后停止滑动,模块组X+1的边缘模块与显示屏194的边缘的距离等于预设值1,即各模块组沿方向1的总位移等于最大位移。
其中,SX2是电子设备100基于滑动操作的滑动速度、摩擦力模型、限位布局方式的限定距离中的至少一个确定的。在t55时刻至t57时刻内,各模块组沿方向1反方向滑动的距离S7,等于各模块组沿方向1的滑动的距离减去最大位移Smax,即S7等于SX1+SX2-Smax。
可以理解,电子设备100检测到用户停止滑动操作前,电子设备100检测到第二刷新周期用户手指沿模块组的滑动方向的位移为位移1,电子设备100控制模块组X在第一刷新周期的位移等于上述位移1的h倍。当模块组X当前的位移小于等于最大位移时,h等于1;当模块组X当前的位移大于最大位移时,h大于零且小于1。因此,边缘页面模块与显示屏194的边缘的距离大于预设值1时,h小于1,模块组X滑动距离小于用户手指滑动距离,给用户营造过界后继续滑动的一种阻力感。
下面进一步介绍图8A所示的页面滑动效果,示例性,图8C是本申请实施例提供的一种图8B中各模块组的位移曲线图。
如图8C所示,在t51时刻至t53,用户的手指在显示屏194上以模块组X所在区域为起点滑动,电子设备100响应于检测到上述滑动操作后,基于上述实时检测的滑动操作的沿方向1的位移su,控制模块组X从t51a时刻跟随用户手指开始滑动。检测到用户手指的位移大于最大位移Smax后,电子设备100控制模块组X的速度是检测到的用户手指的速度的h倍,h大于零小于1。在t53时刻,用户的手指停止滑动,此时,用户的手指沿模块组的滑动方向的位移为SU。在t53a时刻,响应于检测到的滑动操作,电子设备100控制模块组X滑动至SX1,SX1小于SU;并且响应于检测到的用户停止上述滑动操作,电子设备100基于上述滑动操作的滑动速度、摩擦力模型、限位布局方式的限定距离中的至少一个确定模块组X在t53a时刻后沿方向1的滑动距离SX2,在t53a时刻后,电子设备100控制模块组X在位移SX2内按照预设运动规律进行滑动。在t55时刻,各模块组沿方向1的位移均为SX1+SX2。电子设备100基于最大位移Smax确定回弹位移S7后,在t55时刻至t57,控制各模块组沿方向1的反方向以S7为目标位移按照预设运动规律进行滑动。在t55时刻至t57内,模块组X沿方向1的反方向回弹的距离大于等于模块组X+1的回弹距离,模块组X的回弹距离大于等于模块组X+1的回弹距离,且相邻模块组的位移差先增大再减小至零。
在一些实施例中,类似于图5E所示的位移曲线图,在t51a时刻至t53a时刻,电子设备100控制模块组X+1和模块组X+2以模块组X的位移为目标位移,在上述目标位移内按照预设运动规律进行滑动。本申请实施例中,模块组X滑动至SX1后,模块组X+1和模块组X+2有两种滑动方式,具体的,可以参考前述图5E相关实施例中的滑动方式1和滑动方式2,此处不再赘述。
示例性的,图8C中上述预设运动规律为临界阻尼状态下的弹性力运动,模块组模拟临界阻尼状态下的弹性力运动规律。电子设备100可以调整各模块组的阻尼系数和/或刚性系数,令模块组X的阻尼系数和/或刚性系数最大,且离模块组X越远的模块组的阻尼系数和/或刚性系数越小,使得模块组X、模块组X+1和模块X+2展现出图8C所示的临界阻尼状态下的位移变化趋势,从而使得模块组X、模块组X+1和模块X+2在滑动过程中展现图8B所示的页面滑动效果,图8B所示的页面滑动效果包括一次页面回弹,且在相邻模块组沿方向1滑动时,模块组的正向间隔先被压缩后恢复初始值,反向间隔先被拉伸后恢复初始值,在相邻模块组沿方向1的反方向回弹时,模块组间的反向间隔先被压缩后恢复初始值,正向间隔先被拉伸后恢复初始值。
示例性的,以图8A中的模块组X、模块组X+1和模块组X+2为例,图8D示出了另一种跟手回弹的页面滑动效果。
如图8D所示,t53时刻后还包括t58时刻、t59时刻和t60时刻。在t51时刻至t53时刻,各模块组的滑动效果可参考图8A相关实施例。在t53时刻至t58时刻,在t53时刻至t58时刻,模块组X停止滑动,模块组X+1和模块组X+2继续沿方向滑动至SX1,相比t53时刻,在t58时刻,模块组X和模块组X+1的位移差减小至0,使得方向1上的正向间隔F(X,X+1)增大至初始值,方向1上的反向间隔B(X,X+1)减小至初始值。在t58时刻至t60时刻内,各模块组沿方向1的反方向滑动S7。相比t58时刻,在t59时刻(以及相比t59时刻,在t60时刻),模块组X、模块组X+1和模块组X+2向方向1的反方向移动,模块组X和模块组X+1的位移差减小,使得方向1上的正向间隔F(X,X+1)增大,反向间隔B(X,X+1)减小。在t57时刻,各模块组间的位移差减小至0后停止滑动,模块组X+1的边缘模块与显示屏194的边缘的距离等于预设值1,即各模块组沿方向1的总位移回弹至最大位移。
下面进一步介绍图8D所示的页面滑动效果,示例性,图8E是本申请实施例提供的一种图8D中各模块组的位移曲线图。
如图8E所示,类似于图8B所示的位移曲线图,t51时刻至t53时刻位移变化可以参考图8C相关实施例,此处不再赘述。用在t53时刻,用户的手指停止滑动,此时,用户的手指沿模块组的滑动方向的位移为SU。在t53a时刻,响应于检测到的滑动操作,电子设备100控制模块组X滑动至SX1,SX1小于SU;并且响应于检测到的用户停止上述滑动操作,在t53a至t53b内电子设备100控制模块组X+1按照预设运动规律沿方向1滑动至SX1,在t53a至t53C内电子设备100控制模块组X+2按照预设运动规律沿方向1滑动至SX1。在t53a至t53c内模块组X停止滑动,在t53b至t53c内模块组X+1停止滑动。在t58时刻至t60时刻,电子设备100控制各模块组沿方向1的反方向以S8为目标位移按照预设运动规律进行滑动。在t58时刻至t60内,模块组X沿方向1的反方向回弹的距离大于等于模块组X+1的回弹距离,模块组X的回弹距离大于等于模块组X+1的回弹距离,且相邻模块组沿方向1反方向滑动的位移差先增大再减小至零。
示例性的,图8E中上述预设运动规律为临界阻尼状态下的弹性力运动,模块组模拟临界阻尼状态下的弹性力运动规律。电子设备100可以调整各模块组的阻尼系数和/或刚性系数,令模块组X的阻尼系数和/或刚性系数最大,且离模块组X越远的模块组的阻尼系数和/或刚性系数越小,使得模块组X、模块组X+1和模块X+2展现出图8E所示的临界阻尼状态下的位移变化趋势,从而使得模块组X、模块组X+1和模块X+2在滑动过程中展现图8D所示的页面滑动效果,图8C所示的页面滑动效果包括一次页面回弹,且在相邻模块组沿方向1滑动时,模块组的正向间隔先被压缩后恢复初始值,反向间隔先被拉伸后恢复初始值,在相邻模块组沿方向1的反方向回弹时,模块组间的反向间隔先被压缩后恢复初始值,正向间隔先被拉伸后恢复初始值。
四、松手过界回弹的页面滑动效果
下面以图8A中的模块组X、模块组X+1和模块组X+2为例,介绍本申请实施例提供的松手过界回弹的页面滑动效果。
本申请实施例中,用户的手指沿方向1滑动的过程中,若边缘页面模块与电子设备100的显示屏194的边缘的距离小于等于预设值1,用户停止滑动操作并松手后,各模块组会沿方向1位移继续滑动SX2。若继续滑动SX2后,模块组X的位移大于最大位移。电子设备100控制各模块组会沿方向1的反方向滑动,直至边缘页面模块与显示屏边缘的距离回弹至预设值1。本申请实施例将上述情况下的页面滑动效果简称为松手过界回弹界。
示例性的,图8F示出了一种松手过界回弹的页面滑动效果。
如图8B所示,在t61时刻至t62时刻,用户的手指以页面模块X所在区域为起点在显示屏194上沿方向1滑动SU,SU小于当前页面沿方向1的最大位移Smax,电子设备100检测到作用于模块组X的上述滑动操作后,控制页面12上的各模块组沿方向1滑动SU。在t61时刻至62时刻内,模块组X、模块组X+1和模块组X+2沿方向1滑动,模块组X的位移大于模块组X+1的位移,模块组X+1的位移大于模块组X+2的位移。在t62至t65时刻,电子设备100控制模块组X继续沿方向1滑动SX2,模块组间的位移差、正向间隔、反向间隔的变化趋势,可以参考图8C中t53时刻至t55时刻位移变化的相关实施例,此处不再赘述。在t65时刻至t67时刻内,电子设备100控制各模块组沿方向1的反方向滑动S9,模块组间的位移差、正向间隔、反向间隔的变化趋势,可以参考图8C中t53时刻至t55时刻内的位移变化的相关实施例,此处不再赘述。在t67时刻,各模块组间的位移差减小至0后停止滑动,模块组X+1的边缘模块与显示屏194的边缘的距离等于预设值1。
示例性,图8G是本申请实施例提供的一种图8F中各模块组的位移曲线图。
图8G中,电子设备100检测到用户停止滑动操作后,控制模块组X沿方向1继续滑动SX2,控制各模块组在沿方向1的位移达到SU+SX2后,沿方向1的反方向按照预设运动规律滑动S9,S9等于SU+SX2-Smax。具体的,检测到用户停止滑动操作后图8G中各模块的位移变化趋势,可以参考图8C中检测到用户停止滑动操作后各模块的位移变化趋势,此处不再赘述。
需要说明的是,在跟手过界滑动和松手过界滑动的页面滑动效果中,各模块组沿方向1的位移増至SX1+SX2的到达时刻有三种情况。(1)各模块组的到达时刻相同,例如图8C中各模块组的位移在t55时刻同时到达SX1+SX2;(2)相邻模块组的到达时刻存在时间差,模块组组X先到达,且离模块组X越远的模块组越晚到达,例如,图8C中模块组X+2的位移在t55时刻到达SX1+SX2,模块组X和模块组X+1的位移在t55时刻之前到达SX1+SX2;(3)相邻模块组的到达时刻存在时间差,模块组组X最晚到达,且离模块组X越远的模块组越早到达,例如,图8C中模块组X的位移在t55时刻到达SX1+SX2,模块组X+1和模块组X+2的位移在t55时刻之前到达SX1+SX2。此外,各模块组的最终停止滑动时刻也存在三种情况,具体的,可以参考前述未过界无回弹的页面滑动效果中各模块组的停止滑动时刻的三种情况,此处不再赘述。
不限于图8B、图8D和图8F示出的单次过界回弹,页面过界时,页面中的模块组可以进行多次过界回弹。
基于前述图5A至图8F展示的页面滑动效果,下面对本申请实施例提供的页面滑动的处理方法进行具体介绍。
图9A示出了本申请实施例中提供的一种页面滑动的处理方法。上述页面滑动的处理方法包括但不限于步骤S101至S111,其中:
S101、电子设备100显示页面1的页面模块X。
S102、电子设备100检测到作用于页面模块X的沿第一方向的滑动操作,基于页面模块X确定页面1上的模块组X和模块组X+c,c为正整数。
其中,页面1的每个模块组包括页面1上的至少一个页面模块。模块组X+c是根据模块组X+c中的页面模块与页面模块X的位置关系确定的。在一些实施例中,各模块组在页面模块X周围的位置分布呈现第一类型分布。电子设备100可以根据每个模块组与页面模块的距离,对各模块组进行编号X+c,离页面模块X越远c越大。
其中,上述第一类型分布包括但不限于:所述第一类型分布包括:圆形分布、椭圆形分布、矩形分布、正方形分布等等。
具体的,如何让基于页面模块X确定页面1上的模块组X和模块组X+c,可以参考图3A至图3G的相关实施例,此处不再赘述。
S103、基于实时检测的上述滑动操作的位移su,电子设备100控制模块组X沿第二方向滑动,并调用弹簧模型,基于模块组X的位移,控制其他模块组按照第一预设运动规律沿第二方向进行滑动。
如何让基于滑动操作的第一方向确定模块组滑动的第二方向,可以参考图4A和图4B的相关实施例,此处不再赘述。若电子设备100可以沿任意方向滑动页面模块,则第一方向和第二方向相同,例如,第一方向和第二方向为图5A所示的方向1,还可以是图5B所示的方向2。
示例性的,参考图5E至图5G、图7B至图7D、图8C、图8E和图8G的相关实施例,上述第一预设运动规律可以是临界阻尼状态下的弹性力运动规律。
S104、电子设备100检测上述滑动操作是否停止;若上述滑动操作未停止,则继续执行S103;若上述滑动操作停止,则执行S105。
S105、电子设备100基于上述滑动操作确定上述滑动操作停止后模块组X在方向1上滑动的位移SX2,模块组X当前位移为SX1。
在本申请的一些实施例中,电子设备100基于上述滑动操作的滑动速度、摩擦力模型、最大位移和限位布局的限定距离中的至少一个确定用户停止滑动操作后模块组X的位移SX2。具体的,可以参考前述实施例,此处不再赘述。示例性的,参考图5E、图5D、图7B至图7D、图8C和图8G的,电子设备100检测上述滑动操作停止时,模块组X当前位移为SX1;电子设备100控制模块组X沿方向1继续滑动SX2。
在本申请的一些实施例中,电子设备100检测到用户停止滑动操作后,确定模块组X不再沿方向1继续滑动,即位移SX2等于0。示例性的,如图5D和图5G所示的未过界无回弹的页面滑动效果中,在t12a时刻,电子设备100检测到用户停止滑动操作后,控制模块组X停止滑动,模块组X的总位移为SX1。示例性的,如图8D和图8E所示的跟手过界回弹的页面滑动效果中,在t53a时刻,电子设备100检测到用户停止滑动操作后,控制模块组X不再沿方向1滑动,并在各模块组沿方向1的位移均达到SX1后,控制各模块组沿方向1的反方向进行回弹。
S106、电子设备100确定位移Sx1+Sx2是否大于最大位移Smax;若Sx1+Sx2小于等于最大位移Smax,则执行S107;若Sx1+Sx2大于最大位移Smax,则执行S108。
可以理解,若模块组X沿方向1的位移Sx1+Sx2大于最大位移Smax,则各模块组在滑动过程中过界了,即边缘页面模块与显示屏的边缘的距离大于预设值1。
S107、调用弹簧模型,电子设备100控制各模块组执行滑动操作停止后的未过界的页面滑动。
示例性的,参考图5E至图5G和图7B至图7C的相关实施例,Sx1+Sx2小于等于最大位移Smax,电子设备100在检测到上述滑动操作停止后,控制页面进行未过界无回弹的页面滑动。
S108、调用弹簧模型,电子设备100控制各模块组执行滑动操作停止后的过界回弹的页面滑动。
示例性的,参考图8C、图8E和图8G的相关实施例,Sx1+Sx2大于最大位移Smax,电子设备100在检测到上述滑动操作停止后,控制页面进行单次过界回弹的页面滑动。不限于单次回弹,Sx1+Sx2大于最大位移Smax时,电子设备1000可以控制各页面模块在Sx1+Sx2至Smax内进行多次回弹。
下面以图5A和图5E所示的未过界无回弹的页面滑动效果为例,对本申请实施例提供的页面滑动的处理方法进行具体介绍。
示例性的,图9B是本申请实施例提供的一种页面滑动的处理方法的时序图。图9B中,模块组X+1和模块组X+2采用前述滑动方式1。
如图9B所示,在一些实施例中,前述S103具体可以包括S103a、S103b和S103c,前述S105具体可以包括S105a、S105b和S105c,前述S105具体可以包括S107a、S107b和S107c。其中:
S103a、在t11a时刻至t12a时刻,响应于检测到的滑动操作,控制模块组X沿第二方向滑动,模块组X的位移等于实时检测到的滑动操作的位移。
S103b、在t11a时刻至t12a时刻,调用弹簧模型,基于模块组X的位移,控制模块组X+1基于临界阻尼状态的弹性力运动规律沿第二方向进行滑动。
S103c、在t11a时刻至t12a时刻,调用弹簧模型,基于模块组X的位移,控制模块组X+2基于临界阻尼状态的弹性力运动规律沿第二方向进行滑动;模块组X+2的阻尼系数dX+2和/或刚性系数kX+2,分别小于模块组X+1的dX+1和/或kX+1。
S105a、在t12a时刻检测到滑动操作停止时,确定t12a后模块组X的位移SX2,t12a时刻模块组X的位移为SX1。
S105b、在t12a时刻,确定t12a后模块组X+1的位移为SX1+SX2-SX+1,SX+1为t12a时刻模块组X+1的位移。
S105c、在t12a时刻,确定t12a后模块组X+2的位移为SX1+SX2-SX+2,SX+2为t12a时刻模块组X+2的位移。
S107a、SX1+SX2大于最大位移,在t12a时刻至t15a时刻,调用弹簧模型,控制模块组X沿第二方向在位移SX2内基于临界阻尼状态的弹性力运动规律进行滑动。
S107b、在t12a时刻至t15b时刻,调用弹簧模型,控制模块组X+1沿第二方向在位移SX1+SX2-SX+1内,基于临界阻尼状态的弹性力运动规律进行滑动,dX+1和/或kX+1,分别小于模块组X的dX和/或kX。
S107c、在t12a时刻至t15时刻,调用弹簧模型,控制模块组X+2沿第二方向在位移SX1+SX2-SX+2内,基于临界阻尼状态的弹性力运动规律进行滑动,dX+2和/或kX+2,分别小于dX+1和/或kX+1。
在一些实施例中,t15a时刻在于t15a时刻,t15a时刻早于t15a时刻。在一些实施例中,t15a时刻、t15b时刻和t15时刻是同一时刻。
下面以图5A和图5F所示的未过界无回弹的页面滑动效果为例,对本申请实施例提供的页面滑动的处理方法进行具体介绍。
示例性的,图9C是本申请实施例提供的一种页面滑动的处理方法的时序图。图9C中,模块组X+1和模块组X+2采用前述滑动方式2。
不同于图9B,如图9C所示,在一些实施例中,前述S105具体可以包括S105a、S105d和S105e。其中:
S105d、在t12a时刻至t12b时刻,控制模块组X+1的位移在实时检测到的滑动操作的位移内,基于临界阻尼状态的弹性力运动规律滑动至SX1。
S105 e、在t12a时刻至t12c时刻,控制模块组X+2的位移在实时检测到的滑动操作的位移内,基于临界阻尼状态的弹性力运动规律滑动至SX1。
S107d、在t12b时刻至t15b时刻,调用弹簧模型,控制模块组X+1沿第二方向在位移SX2内,基于临界阻尼状态的弹性力运动规律进行滑动,dX+1和/或kX+1,分别小于模块组X的dX和/或kX。
S107e、在t12c时刻至t15时刻,调用弹簧模型,控制模块组X+2沿第二方向在位移SX2内,基于临界阻尼状态的弹性力运动规律进行滑动,dX+2和/或kX+2,分别小于dX+1和/或kX+1。
需要说明的是,在一些实施例中,在t11a时刻检测到上述滑动操作停止后,相邻模块组起始滑动时刻存在时间差。电子设备100控制模块组X在t11a时刻开始滑动,控制模块组X+1在与t11a间隔Δt1的t11b时刻开始滑动,控制模块组X+2在与t11b间隔Δt2的t11b时刻开始滑动。
下面以图8B所示的跟手过界回弹的页面滑动效果为例,对本申请实施例提供的页面滑动的处理方法进行具体介绍。
示例性的,图9D是本申请实施例提供的一种页面滑动的处理方法的时序图。图9D中,模块组X+1和模块组X+2采用前述滑动方式2。
不同于图9C,如图9D所示,在一些实施例中,前述S107具体可以包括S107f、S107g和S107h。其中:
S107f、SX1+SX2大于最大位移Smax,在t53a时刻至t55a时刻,调用弹簧模型,控制模块组X沿第二方向在位移SX2内基于临界阻尼状态的弹性力运动规律进行滑动;在各模块组沿第一方向的位移达到SX1+SX2后,在t55时刻至t57时刻,调用弹簧模型,控制模块组X沿第二方向的反方向在位移S7内基于临界阻尼状态的弹性力运动规律进行滑动。
S107g、在t53b时刻至t55b时刻,调用弹簧模型,控制模块组X+1沿第二方向在位移SX2内,基于临界阻尼状态的弹性力运动规律进行滑动,dX+1和/或kX+1,分别小于模块组X的dX和/或kX;在各模块组沿第一方向的位移达到SX1+SX2后,在t55时刻至t57时刻,调用弹簧模型,控制模块组X+1沿第二方向的反方向在位移S7内,基于临界阻尼状态的弹性力运动规律进行滑动。
S107h、在t53c时刻至t55时刻,调用弹簧模型,控制模块组X+2沿第二方向在位移SX2内,基于临界阻尼状态的弹性力运动规律进行滑动,dX+2和/或kX+2,分别小于dX+1和/或kX+1;在各模块组沿第一方向的位移达到SX1+SX2后,在t55时刻至t57时刻,调用弹簧模型,控制模块组X+2沿第二方向的反方向在位移S7内,基于临界阻尼状态的弹性力运动规律进行滑动。
下面介绍本申请实施例提供的一种页面滑动系统。示例性的,如图10所示,所述滑动系统中包括摩擦力模型和弹性力模型。
在本申请的一些实施例中,如图10所示,电子设备100通过检测模块检测到的用户作用于模块组X的滑动操作,以及该滑动操作的滑动速度。电子设备100可以利用摩擦力模型基于上述滑动速度确定页面滑动的总位移S,从而确定页面的运动起点和运动终点。同时,电子设备100基于模块组X的弹簧参数(例如弹簧刚性系数、弹簧阻尼系数),利用阻尼传导算法可以确定每个模块组的弹簧参数;进而在上述总位移内的页面滑动过程中,基于每个模块组的弹簧参数控制各模块组进行弹性力模型运动。
下面介绍本申请实施例提供的一种摩擦力模型。
本申请实施例提供的摩擦力模型是基于指数函数的摩擦力模型,如下公式(1)和公式(2)为摩擦力模型中速度V(velocity)、位移S、时间t的函数关系。
V(t)=V0*e-4.2*f*t (1)
其中,V0为物体运动的初速度,t为物体运动的时间,f是物体运动过程中所受的摩擦力(friction)。
可以理解,摩擦力越大,物体越容易停止,物体的运动距离越短;反之越长。本申请实施例中,摩擦力可以是电子设备100出厂默认设置的,也可以是用户设定的。
如图11A所示,是本申请实施例提供的一种摩擦力模型中速度V和时间t的曲线图。如图11B所示,是本申请实施例提供的一种摩擦力模型中位移S(t)和时间t曲线图。
在本申请的一些实施例中,电子设备100可以利用速度检测技术(例如,VelocityTracker算法)拟合出用户在显示屏194上的滑动速度,并设为V0,然后利用公式(1)和公式(2)中的至少一个确定页面滑动的总位移。其中滑动速度的单位可以是像素每秒。
下面介绍如何基于摩擦力模型和用户的滑动速度确定页面滑动的位移。
在本申请的一些实施例中,将用户的滑动速度设为V0。参考公式(1),随着t增大,V(t)趋于零。当时刻t81和时刻t81-ε1之间的速度差值小于预设值λ1时,即V(t81)-V(t81-ε1)<λ1时,电子设备100确定公式(2)中时刻t81对应的S(t81)为页面滑动的相对位移。其中,预设值ε1和预设值λ1均为预设的极小值,例如,ε1等于0.1,λ1等于0.01。在一些实施例中,电子设备100还可以利用摩擦力模型确定页面滑动的滑动时长为t81。
在本申请的一些实施例中,参考公式(2),随着t增大,S(t)趋于特定值。当时刻t81和时刻t81-ε2之间的位移差值小于预设值λ2时,即S(t81)-S(t81-ε)<λ2时,电子设备100确定时刻t81对应的S(t81)为页面滑动的相对位移。在一些实施例中,电子设备100还利用摩擦力模型确定页面滑动的滑动时长为t81。
下面介绍本申请实施例提供的一种弹性力模型。弹性力运动符合如公式(3)和公式(4)所示的胡克定律下的阻尼振动公式。
f=ma (3)
其中,f为振动过程中的受力,m为质量,a为加速度,k为刚性系数(stiffness),x为弹簧形变量,d为阻尼系数(阻尼damping),t为时间。
刚性系数是弹簧单位形变量所需弹力的大小。刚性系数k越大,弹簧从最大振幅回到平衡位置的时间越短,反之越长。在一些实施例中,刚性系数k的取值范围可以为1~999,刚性系数k的建议取值范围可以为150~400。
阻尼系数是弹簧在振动过程中的减震力(例如流体阻力、摩擦力等)的量化表征,上述减震力可以使得弹簧振幅逐渐减小直至停止在平衡位置。阻尼系数越大,弹簧越容易停在平衡位置,反之越不容易。在一些实施例中,阻尼系数k的取值范围可以为1~99,电子设备100可以根据具体场景设置阻尼系数。
根据弹簧的阻尼特性,可以将弹簧的运动状态分为临界阻尼、欠阻尼和过阻尼三种状态。示例性的,如图12A至图12C所示,是本申请实施例提供的上述三种状态下弹簧形变量x和时间t的曲线图。参见图12A,临界阻尼状态下,弹簧以最平稳的速度在最短时间回到平衡位置后停止运动,不再振荡。参考见图12B,欠阻尼状态下,弹簧缓慢的经由多次振荡逐渐把振幅减小,最后回到平衡位置。参见图12C,过阻尼状态下,弹簧几乎没有振动,振幅逐渐减小,达到平衡位置。在一些实施例中,当d2=4*m*k时,弹簧处于临界阻尼状态;当d2<4*m*k时,弹簧处于欠阻尼状态;即当d2>4*m*k时,弹簧处于过阻尼状态。
本申请实施例中,页面模块可以模拟弹簧的运动规律,即页面模块的位移S的变化规律可以模拟弹簧形变量x的变化规律。通过调整阻尼系数和/或刚性系数,可以调整页面模块的位移的变化规律,使得页面模块模拟临界阻尼状态、过阻尼或欠阻尼状态的弹性力运动规律。
本申请实施例中,电子设备100通过阻尼传导算法调整各模块组的阻尼系数或刚性系数,从而控制各模块组在同一状态下的弹性力运动规律呈现不同的运动趋势,营造出用户手指滑动方向上的模块组间的正向间隔被压缩再恢复初始值,且用户手指滑动反方向上的模块组间的反向间隔被拉伸再恢复初始值的动态效果,增加了对用户的滑动操作的动态反馈。
在本申请的一些实施例中,电子设备100可以设置模块组X的阻尼系数和刚性系数,并基于模块组X的阻尼系数和刚性系数,利用阻尼传导算法确定其他模块组对应的阻尼系数和刚性系数。模块组X的阻尼系数和刚性系数可以是电子设备100默认设置的,也可以是用户设定的,也可以是电子设备100根据具体场景确定的。示例性的,参见图5A,电子设备100检测到用户的滑动操作,基于该滑动操作确定用户作用的模块组X,并以模块组X为参考按照页面模块的与模块组X的位置关系,将页面模块从近至远划分为模块组X+c(例如,模块组X+1、模块组X+2),c为正整数。将模块组X的刚性系数表示为kX,模块组X+c的刚性系数表示为kX+c,模块组X的阻尼系数表示为dX,模块组X+c的阻尼系数表示为dX+c。
在一些实施例中,参见公式(5)和公式(6),刚性系数kX和刚性系数kX+c的关系、阻尼系数dX和阻尼系数dX+c的关系可以表示如下:
kX+c=kX*(c+1)-0.18*g (5)
dX+c=dX*(c+1)-0.18*g (6)
其中,g为传导系数。
在一些实施例中,参见公式(7)和公式(8),阻尼系数kX和阻尼系数kX+c的关系、刚性系数dX和刚性系数dX+c的关系可以表示如下:
kX+c=kX-c*g (7)
dX+c=dX-c*g (8)
在一些实施例中,将模块组X的阻尼系数与刚性系数的比值表示为pX,将模块组X+c的阻尼系数与刚性系数的比值表示为pX+c。参见公式(9)所示的阻尼传导算法,参数pX和阻尼系数pX+c的关系可以表示如下:
pX+c=pX*(c+1)-0.18*g (9)
例如,g取值为0.9,kX取值为30,dX取值为228。
由公式(5)至公式(9)中任意一个公式所示的阻尼传导算法可知,传导系数g越大,相邻的模块组对应的弹簧特性差异越大,导致相邻的模块组的弹性力运动的差异越大。反之,相邻的模块组对应的弹簧特性差异越小,导致相邻的模块组的弹性力运动的差异越小。传导系数g为0时,各模块组的阻尼系数相等,各模块组的刚性系数也相等,相邻的模块组对应的弹簧特性相同。
此外,由公式(5)至公式(9)可知,g大于0时,模块组X的阻尼系数与刚性系数最大,离模块组X越远的模块组的阻尼系数与刚性系数越小。模块组的阻尼系数与刚性系数越小,模块组的弹性力运动越不容易回到平衡位置,即模块组的滑动时长越长。
本申请实施例中,电子设备100通过阻尼传导算法调整各模块组的阻尼系数或刚性系数,从而控制各模块组在总位移内基于弹性力运动规律呈现不同的运动趋势,营造出用户手指滑动方向上的模块组间的正向间隔被压缩,且用户手指滑动反方向上的模块组间的反向间隔被拉伸的动态效果,增加了对用户的滑动操作的动态反馈,提高了滑动操作的趣味性,有效提升了用户体验。
示例性的,图13A示出的曲线1是模块组X的运动曲线图,曲线2是模块组X+1的运动曲线图,模块组的传导系数g>0。由图13A可知,相同时刻下,模块组X对应的位移大于模块组X+1的位移;模块组X和模块组X+1的位移差从0开始增大,再减小至0。
参见图6A和图6C,相邻模块组的起始滑动时刻可以存在时间差Δt。示例性的,如图13A示出的曲线3是另一种模块组X+1的运动曲线图,曲线3对应的模块组X+1起始滑动时刻比模块组X晚Δt。由图12A可知,相同的时刻下,Δt大于0时,模块组X和模块组X+1的位移差更大。
示例性的,如图13B示出的曲线4是模块组X的运动曲线图,曲线5是模块组X+1的运动曲线图,模块组的传导系数g=0,模块组X+1起始滑动时刻比模块组X晚Δt。由图12B可知,在相同时刻下,模块组X的位移大于模块组X+1的位移;模块组X和模块组X+1的位移差从0开始增大,再减小至0。
如图13A和图13B可知,模块组X和模块组X+1位移差均先增大后减小,且总位移相等。因此,随滑动时间t的增大,模块组X和模块组X+1的正向间隔L(X+1,X)会从初始值减小,再增大至初始值;模块组X和模块组X+1的反向间隔会从初始值增大,再减小至初始值。因此,图13A和图13B所示的g和Δt的取值,均可以实现本申请实施例提出的页面模块间类似于弹簧的拉伸和挤压的动态效果。
下图14A至图14D是在g和Δt的不同取值下,各模块组的滑动时长示意图。
如图14A所示,Δt=0时,相邻模块组的起始滑动时刻不存在时间差,各模块组同时运动,g>0时,相邻模块组的弹性力运动差异越大,离模块组X越远的模块的滑动时长越长。如图14B所示,Δt>0且g>0时,相比图14A,由于离模块组X越远的模块的起始滑动时刻越晚,离模块组X越远的模块停止滑动间更晚。如图14C所示,Δt>0且g=0时,各模块组的滑动时长相同,且相邻模块组的起始滑动时刻的时间差等于上述相邻模块组的停止滑动时刻的时间差。如图14D所示,Δt=0且g=0时,各模块组的滑动时长相同,且相邻模块组的起始滑动时刻也相同,即各模块组的运动趋势相同,各模块组的正向间隔和反向间隔均不变。
下面以页面10为例,对页面滑动过程中页面的绘制与刷新进行介绍。
本申请实施例中,电子设备100在显示页面1 0的显示内容1时,接收作用于页面10的滑动操作1。响应于上述滑动操作1,电子设备100显示页面1 0的显示内容2。
在本申请的一些实施例中,电子设备100响应于接收到的用户操作1,在刷新周期1绘制页面1 0的显示内容1,并存储在缓存区;然后电子设备100在刷新周期2基于缓存区中已绘制的显示内容1的图像数据,显示上述显示内容1。电子设备100响应于接收到的滑动操作1,在刷新周期3绘制页面1 0的显示内容2,并存储在缓存区;然后电子设备100在刷新周期4基于缓存区中已绘制的显示内容2的图像数据,显示上述显示内容2。
在本申请的一些实施例中,电子设备100响应于接收到的用户操作1,在刷新周期1绘制页面1 0的全部内容,并存储在缓存区;然后电子设备100在刷新周期2基于缓存区中已绘制的显示内容1的图像数据,显示上述显示内容1。电子设备100响应于接收到的滑动操作1,在刷新周期4基于缓存区中已绘制的显示内容2的图像数据,显示上述显示内容2。
在本申请的一些实施例中,电子设备100在刷新周期1响应于接收到的用户操作1,可以绘制页面1的显示内容1,以及距离页面1的显示内容1最近的一或多个页面模块,并存储在缓存区;然后在刷新周期2电子设备100基于缓存区中已绘制的显示内容1的图像数据,显示上述显示内容1。当确定缓存区已绘制的图像数据包括显示内容2时,电子设备100响应于接收到的滑动操作1,在刷新周期4基于缓存区中已绘制的显示内容2的图像数据,显示上述显示内容2;当缓存区已绘制的图像数据包括显示内容2的部分内容时,电子设备100响应于接收到的滑动操作1,在刷新周期3基于上述部分内容绘制显示内容2,并存入缓存区,然后在刷新周期4基于缓存区中已绘制的显示内容2的图像数据,显示上述显示内容2;当缓存区已绘制的图像数据不包括显示内容2的内容时,电子设备100响应于接收到的滑动操作1,在刷新周期3绘制显示内容2,并存入缓存区,然后在刷新周期4基于缓存区中已绘制的显示内容2的图像数据,显示上述显示内容2。
下面介绍本申请实施例提供的页面滑动的动画实现原理。
示例性的,如图15所示,是本申请实施例提供的一种动画实现原理图。如图15所示,实现动画的要素包括动画的初态、动画的终态、动画时长以及动画的插值器(Interpolator)。其中,插值器用于设置动画属性值从初态过渡到终态的变化逻辑,从而控制动画变化的速率,使得动画效果能够以匀速、加速、减速、抛物线速率等速率中的一或多种速率变化。
在本申请的一些实施例中,电子设备100可以根据摩擦力模型确定动画时长、动画初态和动画终态,并通过系统插值器或自定义插值器(例如弹性力插值器、摩擦力插值器)设置动画属性值的变化逻辑。动画运行时,当电子设备100根据上述变化逻辑确定动画属性值发生改变时,基于上述动画属性值绘制帧图像,并刷新显示页面。本申请实施例提供的页面滑动的动画效果可以参见图5A至图8C所示的页面。
在本申请实施的一些实施例中,当电子设备100根据插值器的变化逻辑确定动画属性值发生改变时,基于上述动画属性值调用invalidate()函数刷新视图,即调用onDraw()函数重新绘制视图并显示。
在本申请实施的一些实施例中,电子设备100自定义了弹性力插值器。在一种实现方式中,弹性力插值器的函数的参数至少包括刚性系数(stiffness)和阻尼系数(damping)。示例性的,弹性力插值器的函数代码可以表示为以下其中一项:“SpringInterpolator(float stiffness,float damping)”、“SpringInterpolator(floatstiffness,float damping,float endPos)”、“SpringInterpolator(float stiffness,float damping,float endPos,float velocity)”、“SpringInterpolator(floatstiffness,float damping,float endPos,float velocity,float valueThreshold)”。
其中,参数endPos表示相对位移,即弹簧初始位置和静止位置差值。本申请实施例中,endPos可以表示页面滑动的相对位移。
参数valueThreshold表示判断动画停止的阈值。当相邻两帧间的位移(或者其他属性)差值小于该阈值,动画停止运行。该阈值越大,动画越容易停止,运行时间也更短;反之,动画运行时间更长。该阈值的取值可以按照具体的动画属性进行设置。在一些实施例中,弹性插值器FloatValueHold参数缺省为1/1000,其他构造方法中该阈值取值为1。在一些实施例中,自定义该阈值时,按照动画属性可以使用表1所示的建议值。
表1
动画属性 | valueThreshold |
ROTATION/ROTATION_X/ROTATION_Y | 1/10 |
ALPHA | 1/256 |
SCALE_X/SCALE_Y | 1/500 |
TRANSLATION_Y/TRANSLATION_X | 1 |
此外,该阈值还可以直接使用DynamicAnimation类提供的如下常量:MIN_VISIBLE_CHANGE_PIXELS、MIN_VISIBLE_CHANGE_ROTATION_DEGREES、MIN_VISIBLE_CHANGE_ALPHA、MIN_VISIBLE_CHANGE_SCALE。
示例性的,自定义弹性力插值器的动画类的具体代码可以表示如下:
“PhysicalInterpolatorBase interpolator=new SpringInterpolator(400F,40F,200F,2600F,1F);
ObjectAnimator animator=ObjectAnimator.ofFloat(listView,“translationY”,0,346);
animator.setDuration(interpolator.getDuration());//获取动画时长
animator.setInterpolator(interpolator);//将自定义的插值器设置给动画类
animator.start();//运行动画”。
在本申请实施的一些实施例中,电子设备100自定义了摩擦力插值器。示例性的,摩擦力插值器的函数代码可以表示为“FlingInterpolator(float initVelocity,floatfriction)”。其中,initVelocity表示初速度。
示例性的,使用摩擦力插值器的动画类的具体代码可以表示如下:
“PhysicalInterpolatorBase interpolator=new FlingInterpolator(600F,0.5F);
ObjectAnimator animator=ObjectAnimator.ofFloat(listView,“translationY”,0,interpolator.getEndOffset());
animator.setDuration(interpolator.getDuration());//获取动画时长
animator.setInterpolator(interpolator);//将自定义的插值器设置给动画类
animator.start();”//运行动画。
在本申请的一些实施例中,电子设备100可以自行设置动画时长(Duration)以及起始位置;也可以调用引擎模型获取动画时长(Duration)以及终止位置,再设置给动画类(Animator类)。
示例性的,电子设备100调用引擎模型获取动画时长的代码可以表示为“com.huawei.dynamicanimation.interpolator.PhysicalInterpolatorBase#getDuration”。
示例性的,调用引擎模型获取弹簧的终止位置的代码可以表示为“com.huawei.dynamicanimation.interpolator.PhysicalInterpolatorBase#getEndOffset”。
示例性的,设置参数valueThreshold的代码可以表示为“
com.huawei.dynamicanimation.interpolator.PhysicalInterpolatorBase#setValueThreshold”。
在本申请的一些实施例中,使用弹性引擎动画类的代码可以表示为如下代码的其中一项:“HWSpringAnimation(K object,FloatPropertyCompat<K>property,floatstiffness,float damping,float startValue,float endValue,float velocity)”、“HWSpringAnimation(K object,FloatPropertyCompat<K>property,float stiffness,float damping,float endValue,float velocity)”。
其中,参数object表示动画对象;Property表示动画类或者插值器作用的属性对象。参见表1,该参数可以用于间接设置valueThreshold。插值器版本中该参数是可选的,当valueThreshold已通过其他方式设置,可不设置该参数,即直接使用无property参数的构造方法。动画类版本中该参数为必选参数。DynamicAnimation类已提供如下可直接使用的常量:“TRANSLATION_X、TRANSLATION_Y、TRANSLATION_Z、SCALE_X、SCALE_Y、ROTATION、ROTATION_X、ROTATION_Y、X、Y、Z、ALPHA、SCROLL_X、SCROLL_Y”,电子设备100也可以自定义实现ViewProperty接口。
示例性的,使用弹簧引擎动画类的具体代码可以表示如下:
“HWSpringAnimation animation=HWSpringAnimation(listView,DynamicAnimation.TRANSLATION_Y,400F,40F,0,1000F);
animation.start();”
在本申请实施的一些实施例中,使用摩擦力引擎动画类的代码可以表示为:“
HWFlingAnimation(K object,FloatPropertyCompat<K>property,floatinitVelocity,float friction)”。
示例性的,使用摩擦力动画类的具体代码可以表示如下:
“HWFlingAnimation animation=HWFlingAnimation(listView,DynamicAnimation.TRANSLATION_Y,2000F,0.5F);
animation.start();”。
基于前述实施例,下面介绍本申请实施例提供的一种页面滑动的处理方法的流程。
图16示出了本申请实施例提供的一种页面滑动的处理方法的流程示意图。如图16所示,该页面滑动的处理方法包括但不限于步骤S201至步骤S204。其中
S201、电子设备检测到作用于第一页面的第一模块沿第一方向的滑动操作。
在一些实施例中,上述第一页面可以是图5A、图6A、图7A、图8B、图8D或图8F所示的页面,所述第一模块可以是上图所示页面中的焦点模块X(即页面模块X),第一方向可以是上图所示的方向1,上述滑动操作可以是上图所示的用户的手指以焦点模块X所在区域为起点在显示屏上沿方向1滑动。在一些实施例中,上述第一页面可以是图5B所示的页面,所述第一模块可以是图5B所示的焦点模块X,第一方向可以是图5B所示的方向2,上述滑动操作可以是上图所示的用户的手指以焦点模块X所在区域为起点在显示屏上沿方向2滑动。
不限于上述页面,第一页面还可以是其他包括多个页面模块的页面,示例性的,参考图3A至图3H所示的页面。
S202、响应于滑动操作,在第一时间段内,电子设备根据检测到的滑动操作沿第二方向的位移,控制第一模块组沿第二方向滑动,并根据第一模块组的位移,控制第二模块组基于第一预设运动规律沿第二方向滑动。
其中,第一模块组包括第一模块,第二模块组包括第一页面中第一模块组以外的至少一个模块,第二模块组是电子设备根据第二模块组中的模块与第一模块的位置关系确定的;第二方向是根据第一方向确定的;在第一时间段,第一模块组的位移大于等于第二模块组的位移,在第一时间段的截止时刻,第一模块组和第二模块组的第一位移差大于零。
在本申请的一些实施例中,所述方法还包括:响应于滑动操作,在第一时间段内,电子设备根据第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动;其中,第三模块组包括第一页面中第一模块组和第二模块组以外的至少一个模块,第三模块组是电子设备根据第三模块组中的模块与第一模块的位置关系确定的;在第一时间段,第二模块组的位移大于等于第三模块组的位移,在第一时间段的截止时刻,第一模块组和第二模块组的第二位移差大于零。
在一些实施例中,上述第一页面可以是图5A、图6A、图7A、图8B、图8D或图8F所示的页面,所述第一模块可以是上图所示页面中的焦点模块X(即页面模块X),第一方向可以是上图所示的方向1,第二方向也可以是上图所示的方向1。第一模块组可以是上图所示的模块组X,第二模块组可以是上图所示的模块组X+1,第三模块组可以是上图所示的模块组X+2。第一位移差可以是模块组X和模块组X+1的位移之差,第二位移差是模块组X+1和模块组X+2的位移之差。
在一些实施例中,上述第二模块组中的模块和第三模块组中的模块在第一模块周围的位置分布呈现第一类型分布,且相比第三模块组,第二模块组更靠近第一模块组。例如上述第一类型分布包括:圆形分布、椭圆形分布、矩形分布、正方形分布等等。此外,电子设备还可以根据通过其他方式确定页面中的第一模块组、第二模块组和第三模块组。具体的,可以参考图3A至图3H的相关实施例,此处不再赘述。
需要说明的是,第一页面可以仅包括两个模块组,也可以包括更多模块组,此处不作具体限定。示例性的,参考图3A至图3H,一个页面中可以包括更多模块组。此外,如何基于滑动操作滑动的第一方向确定模块组滑动的第二方向,具体可以参考如图4A和图4B的相关实施例,此处不再赘述。
在一些实施例中,参考图5E、图5F、图5G和图6C的相关描述,第一时间段可以是t11a时刻至t12a时刻,第一时间段的起始时刻可以是t11a时刻,第一时间段的截止时刻可以是t12a时刻。响应于用户的滑动操作,在t11a时刻至t12a时刻,电子设备根据检测到的用户手指的滑动操作沿方向1的位移,控制模块组X沿方向1滑动,并根据模块组X的位移,控制模块组X+1基于第一预设运动规律沿方向1滑动。在t11a时刻至t12a时刻,模块组X的位移大于等于模块组X+1的位移,在t12a时刻,模块组X和模块组X+1的位移差大于零。在一些实施例中,参考图5E、图5F、图5G和图6C的相关描述,在t11a时刻至t12a时刻,电子设备根据模块组X的位移,控制模块组X+2基于第一预设运动规律沿方向1滑动。在t11a时刻至t12a时刻,模块组X+1的位移大于等于模块组X+2的位移,在t12a时刻,模块组X+1和模块组X+2的位移差大于零。
在一些实施例中,参考图7B至图7D的相关描述,第一时间段可以是t41a时刻至t42a时刻,第一时间段的起始时刻可以是t41a时刻,第一时间段的截止时刻可以是t42a时刻。响应于用户的滑动操作,在t41a时刻至t42a时刻,电子设备根据检测到的用户手指的滑动操作沿方向1的位移,控制模块组X沿方向1滑动,并根据模块组X的位移,控制模块组X+1基于第一预设运动规律沿方向1滑动。在t41a时刻至t42a时刻,模块组X的位移大于等于模块组X+1的位移,在t42a时刻,模块组X和模块组X+1的位移差大于零。在一些实施例中,参考图7B至图7D的相关描述,在t41a时刻至t42a时刻,电子设备根据模块组X的位移,控制模块组X+2基于第一预设运动规律沿方向1滑动。在t41a时刻至t42a时刻,模块组X+1的位移大于等于模块组X+2的位移,在t42a时刻,模块组X+1和模块组X+2的位移差大于零。
在一些实施例中,参考图8C和图8E的相关描述,第一时间段可以是t51a时刻至t53a时刻,第一时间段的起始时刻可以是t51a时刻,第一时间段的截止时刻可以是t53a时刻。在t51a时刻至t53a时刻,模块组X的位移大于等于模块组X+1的位移,在t53a时刻,模块组X和模块组X+1的位移差大于零。在一些实施例中,参考图8C和图8E的相关描述,在t51a时刻至t53a时刻,电子设备根据模块组X的位移,控制模块组X+2基于第一预设运动规律沿方向1滑动。在t51a时刻至t53a时刻,模块组X+1的位移大于等于模块组X+2的位移,在t53a时刻,模块组X+1和模块组X+2的位移差大于零。
在一些实施例中,参考图8G的相关描述,第一时间段可以是t61a时刻至t62a时刻,第一时间段的起始时刻可以是t61a时刻,第一时间段的截止时刻可以是t62a时刻。在t61a时刻至t62a时刻,模块组X的位移大于等于模块组X+1的位移,在t62a时刻,模块组X和模块组X+1的位移差大于零。在一些实施例中,参考图8G的相关描述,在t61a时刻至t62a时刻,电子设备根据模块组X的位移,控制模块组X+2基于第一预设运动规律沿方向1滑动。在t61a时刻至t62a时刻,模块组X+1的位移大于等于模块组X+2的位移,在t62a时刻,模块组X+1和模块组X+2的位移差大于零。
在一种实现方式中,上述电子设备根据检测到的滑动操作沿第二方向的位移,控制第一模块组沿第二方向滑动,并根据第一模块组的位移,控制第二模块组基于第一预设运动规律沿第二方向滑动,包括:电子设备根据检测到的滑动操作沿第二方向的位移,在第一时间段的起始时刻,控制第一模块组开始沿第二方向滑动,并根据第一模块组的位移,在与第一时间段的起始时刻间隔第一时间差的时刻,控制第二模块组开始根据第一预设运动规律沿第二方向滑动。
在一种实现方式中,上述在第一时间段内,电子设备根据第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动,包括:在第一时间段内,电子设备根据第一模块组的位移,在与第一时间段的起始时刻间隔第三时间差的时刻,控制第三模块组开始根据第一预设运动规律沿第二方向滑动,第三时间差大于第一时间差。
示例性的,参考图6C的相关描述,第一时间差可以是模块组X的起始滑动时刻(即t11a)和模块组X+1的起始滑动时刻(即t11b)的时间差,第三时间差可以是模块组X的起始滑动时刻(即t11a)和模块组X+2的起始滑动时刻(即t11c)的时间差。
示例性的,参考图7A和图7D的相关描述,第一时间差可以是模块组X的起始滑动时刻和模块组X+1的起始滑动时刻的时间差,即Δt1,第三时间差可以是模块组X的起始滑动时刻和模块组X+2的起始滑动时刻的时间差,即Δt1+Δt1。
需要说明的是,图8B、图8D和图8F中,相邻模块组的起始滑动时刻存在时间差,模块组X最早滑动,离模块组X越远的模块组越晚滑动,此处不再赘述。
在一种实现方式中,上述电子设备根据检测到的滑动操作沿第二方向的位移,控制第一模块组沿第二方向滑动,并基于第一模块组的位移,控制第二模块组根据第一预设运动规律沿第二方向滑动,包括:在第一时间段内的第一刷新周期,电子设备根据第一刷新周期的前一刷新周期内滑动操作沿第二方向的第三位移,控制第一模块组沿第二方向滑动第四位移;并根据前一刷新周期内第一模块组滑动的第四位移,控制第二模块组基于第一预设运动规律滑动第五位移;其中,第四位移等于第三位移的h倍,h大于0小于等于1,第五位移小于等于第四位移。
在一种实现方式中,上述在第一时间段内,电子设备根据第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动,包括:在第一时间段内的第一刷新周期,电子设备根据第一刷新周期的前一刷新周期内滑动操作沿第二方向的第三位移,控制第一模块组沿第二方向滑动第四位移;并根据前一刷新周期内第一模块组滑动的第四位移,控制第三模块组基于第一预设运动规律滑动第十一位移;其中,第四位移等于第三位移的h倍,h大于0小于等于1,第十一位移小于等于第五位移。
在一些实施例中,参考图5E和图5F的相关实施例,第一刷新周期的前一刷新周期可以是前述第二刷新周期,第四位移可以是第二刷新周期内模块组X的位移Δsx,上述第五位移可以是第一刷新周期内模块组X+1的位移,上述第十一位移可以是第一刷新周期内模块组X+2的位移,模块组X+1的第五位移小于Δsx,模块组X+2第十一位移小于模块组X+1的第五位移。
在一种实现方式中,当第一模块组在第一刷新周期的起始时刻的位移小于等于第二方向的最大位移时,h等于1;当第一模块组在第一刷新周期的起始时刻的位移大于第二方向的最大位移时,h大于零小于1;第二方向的最大位移,是根据在第一时间段的起始时刻,第一页面中第二方向的反方向上的第一边缘模块的位置确定的。
在一些实施例中,参考图8G,在第一时间段(即t61a时刻至t62a时刻),页面未过界,即用户手指沿方向1的位移小于最大位移Smax,电子设备100控制模块组X的在一个刷新周期(例如,第一刷新周期)的位移(即第四位移)等于检测到的上一个刷新周期内滑动操作沿方向1的位移(即第三位移);在t62a时刻,电子设备100检测到用户停止滑动操作,模块组X的位移等于用户手指的位移SU。在一些实施例中,参考图8C,在t52时刻至t53时刻,页面过界,即用户手指沿方向1的位移(即模块组X的当前位移)大于最大位移Smax。在t52时刻至t53时刻内,电子设备100控制模块组X的在一个刷新周期(例如,第一刷新周期)的位移(即第四位移)小于检测到的上一个刷新周期内滑动操作沿方向1的位移(即第三位移),即h小于1;在t53a时刻,电子设备100检测到用户停止滑动操作,模块组X的位移小于用户手指的位移SU。
在一种实现方式中,上述第一方向的最大位移,等于第一边缘模块沿第二方向滑动至电子设备的显示屏的第一预设位置的位移。示例性的,可以参考图4C的相关描述,此处不再赘述。
S203、电子设备根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段内第二模块组在第二方向上的第二位移。
示例性的,参考前述实施例中四类页面滑动效果的相关描述,第一时间段的截止时刻的第一位移为SX1。
在本申请的一些实施例中,电子设备根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第二模块组在第二方向上的第二位移,包括:根据滑动操作,确定在第二时间段第一模块组在第二方向上的第六位移;确定第二位移等于第六位移加上第一位移再减去第七位移,第七位移为第二模块组在第一时间段的截止时刻的位移;第一时间段的起始时刻到第二时间段的截止时刻,第一模块组和第二模块组在第二方向上的位移等于第一位移加上第六位移。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移,包括:确定第十二位移等于第六位移加上第一位移减去第十三位移,第十三位移为第三模块组在第一时间段的截止时刻的位移;第二时间段的截止时刻,第三模块组在第二方向上的位移等于第一位移加上第六位移。
示例性的,参考图5E、图5F、图6C、图7B、图7C、图8C和图8E的相关描述。电子设备100在第一时间段的截止时刻,确定模块组X沿方向1继续滑动的第六位移,第六位移可以是上图中的SX2。
在一些实施例中,参考图5E、图5F和图6C,第二时间段可以是t12a时刻至t15时刻;第二位移可以是模块组X+1在t12a时刻至t15时刻的时间段内沿方向1的位移;第七位移可以是模块组X+1在t12a时刻的位移。在一些实施例中,参考图5E、图5F和图6C,第二时间段可以是t12a时刻至t15时刻;第十二位移可以是模块组X+2在t12a时刻至t15时刻的时间段内沿方向1的位移,第十三位移可以是模块组X+2在t12a时刻的位移。
在一些实施例中,参考图7B至图7D,第二时间段可以是t42a时刻至t47时刻;第二位移可以是模块组X+1在t42a时刻至t47时刻的时间段内沿方向1的位移,第七位移可以是模块组X+1在t42a时刻的位移。在一些实施例中,参考图7B至图7D,第二时间段可以是t42a时刻至t47时刻;第十二位移可以是模块组X+2在t42a时刻至t47时刻的时间段内沿方向1的位移,第十三位移可以是模块组X+2在t42a时刻的位移。
在一些实施例中,参考图8C,第二时间段可以是t53a时刻至t55时刻;第二位移可以是模块组X+1在t53a时刻至t55时刻的时间段内沿方向1的位移,第七位移可以是模块组X+1在t53a时刻的位移。在一些实施例中,参考图8C,第二时间段可以是t53a时刻至t55时刻;第十二位移可以是模块组X+2在t53a时刻至t55时刻的时间段内沿方向1的位移,第十三位移可以是模块组X+2在t53a时刻的位移。
在一些实施例中,参考图8G,第二时间段可以是t62a时刻至t65时刻;第二位移可以是模块组X+1在t62a时刻至t65时刻的时间段内沿方向1的位移,第七位移可以是模块组X+1在t62a时刻的位移。在一些实施例中,参考图8G,第二时间段可以是t62a时刻至t65时刻;第十二位移可以是模块组X+2在t62a时刻至t65时刻的时间段内沿方向1的位移,第十三位移可以是模块组X+2在t62a时刻的位移。
在一种实现方式中,上述根据滑动操作,确定第一模块组在第二时间段沿第一方向的滑动的第六位移,包括:根据滑动操作的滑动速度、摩擦力模型和最大位移中的至少一个,确定第六位移;滑动操作的滑动速度是滑动操作停止前的瞬时速度;或者,滑动操作的滑动速度是滑动操作的平均速度。滑动操作的滑动速度越大,第六位移越大;摩擦力模型的摩擦力系数越大,第六位移越小;最大位移越大,第六位移越小。参考图5E、图5F、图6C、图7B、图7C、图8C和图8E的相关描述,第六位移可以是上图中的SX2。具体的,如何滑动操作的滑动速度、摩擦力模型和最大位移中的至少一个,确定SX2,可以参考前述实施例,此处不再赘述。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第二模块组在第二方向上的第二位移,包括:根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第二模块组在第二方向上的第二位移为第一位移减去第七位移。
在一种实现方式中,上述根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移,包括:根据第一模块组在第一时间段的截止时刻的第一位移,确定在第一时间段后的第二时间段,第三模块组在第二方向上的第十二位移为第一位移减去第十三位移。
在一些实施例中,参考图5G,第二时间段可以是t12a时刻至t17时刻;第二位移可以是模块组X+1在t12a时刻至t17时刻的时间段内沿方向1的位移,第七位移可以是模块组X+1在t12a时刻的位移。在一些实施例中,参考图5G,第二时间段可以是t12a时刻至t17时刻;第十二位移可以是模块组X+2在t12a时刻至t17时刻的时间段内沿方向1的位移,第十三位移可以是模块组X+2在t12a时刻的位移。
在一些实施例中,参考图8E,第二时间段可以是t53a时刻至t58时刻;第二位移可以是模块组X+1在t53a时刻至t58时刻的时间段内沿方向1的位移,第七位移可以是模块组X+1在t53a时刻的位移。在一些实施例中,参考图8E,第二时间段可以是t53a时刻至t58时刻;第十二位移可以是模块组X+2在t53a时刻至t58时刻的时间段内沿方向1的位移,第十三位移可以是模块组X+2在t53a时刻的位移。
在一种实现方式中,上述第一模块组在第一时间段后停止滑动,第二模块组在第二时间段后停止滑动。在一种实现方式中,上述第一模块组在第一时间段后停止滑动,第二模块组和第三模块组在第二时间段后停止滑动,第三模块组的停止滑动时刻晚于第二模块组的停止滑动时刻。在一些实施例中,参考图5G,第一时间段为t11a时刻到t12a时刻,第二时间段为t12a时刻到t17时刻,模块组X在t12a时刻后停止滑动,模块组X+1和模块组X+2在t17时刻后停止滑动。
在一种实现方式中,第一模块组和第二模块组在第二时间段后停止滑动。在一种实现方式中,第三模块组在第二时间段后停止滑动。示例性的,参考图5E、图5F和图6C,第一时间段为t11a时刻到t12a时刻,第二时间段为t12a时刻到t15时刻,模块组X、模块组X+1和模块组X+2在t15时刻后停止滑动。
S202、在第二时间段,电子设备控制第二模块组在第二位移内基于第二预设运动规律滑动;相比于第二时间段的起始时刻,在第二时间段的截止时刻,第一位移差减小。
在本申请的一些实施例中,在第二时间段,控制第三模块组在第十二位移内基于第二预设运动规律滑动;相比于第二时间段的起始时刻,在第二时间段的截止时刻,第二位移差减小。
在一些实施例中,参考图5E至图5G、图6C、图7B至图7D、图8C、图8E和图8G的相关描述。相比于第二时间段的起始时刻,在第二时间段的截止时刻,模块组X和模块组X+1的位移差减小,模块组X+1和模块组X+2的位移差减小。
在一种实现方式中,所述方法还包括:在第二时间段,控制第一模块组在第六位移内基于第二预设运动规律进行滑动。示例性的,参考图5E、图5F、图6C、图7B至图7D、图8C和图8G的相关描述。第六位移为SX2,电子设备100在第六位移内基于第二预设运动规律进行滑动。
在一种实现方式中,上述第二时间段内先后包括第三时间段和第四时间段,在第二时间段,控制第二模块组在第二位移内基于第二预设运动规律滑动,具体包括:在第三时间段,控制第二模块组在第八位移内基于第一预设运动规律进行滑动,第八位移等于第一位移减去第七位移;在第四时间段,控制第二模块组在第六位移内基于第二预设运动规律进行滑动。
在一种实现方式中,上述第二时间段内先后包括第七时间段和第八时间段,在第二时间段,控制第三模块组在第十二位移内基于第二预设运动规律滑动,具体包括:在第七时间段,控制第三模块组在第十四位移内基于第一预设运动规律进行滑动,第十四位移等于第一位移减去第十三位移;在第八时间段,控制第三模块组在第六位移内基于第二预设运动规律进行滑动。
在一些实施例中,参考图5F,第二时间段可以是t12a时刻至t15时刻,第三时间段可以是t12a时刻至t12b时刻,第四时间段可以是t12b时刻至t15时刻,第七位移可以是模块组X+1在t12a时刻的位移,第八位移为SX1(即在t12a时刻模块组X的位移)减去第七位移。在一些实施例中,参考图5F,第二时间段可以是t12a时刻至t15时刻,第七时间段可以是t12a时刻至t12c时刻,第八时间段可以是t12c时刻至t5时刻,第十三位移可以是模块组X+1在t12a时刻的位移,第十四位移为SX1减去第十三位移。
在一种实现方式中,在第二时间段,第一模块组和第二模块组沿第二方向的速度大于等于零,第一模块组的位移大于等于第二模块组;第二时间段的起始时刻到第二时间段内的第一时刻,第一位移差增大;第一时刻到第二时间段的截止时刻,第一位移差减小;在第二时间段的截止时刻,第一位移差等于零。
在一种实现方式中,在第二时间段,第三模块组沿第二方向的速度大于等于零,第二模块组的位移大于等于第三模块组;第二时间段的起始时刻到第二时间段内的第三时刻,第二位移差增大;第三时刻到第二时间段的截止时刻,第二位移差减小。
在一些实施例中,参考图5E、图5F、图6C、图8C和图8G的相关描述,在第二时间段,模块组X、模块组X+1和模块组X+3沿方向1的速度大于等于零,模块组X的位移大于等于模块组X+1,模块组X+1的位移大于等于模块组X+2;第二时间段内,模块组X和模块组X+1的第一位移差先增大后减小,模块组X+1和模块组X+2的第二位移差先增大后减小;在第二时间段的截止时刻,第一位移差和第二位移差等于零。
在一种实现方式中,在第二时间段的起始时刻到第二时间段的第二时刻,第一模块组在第二方向上的位移大于等于第二模块组在第二方向上的位移,第一位移差先增大后减小至零;在第二时刻到第二时间段的截止时刻,第一模块组在第二方向上的位移小于等于第二模块组在第一方向上的位移,第一位移差先增大后减小至零。
在一种实现方式中,在第二时间段的起始时刻到第二时间段的第四时刻,第二模块组在第二方向上的位移大于等于第三模块组在第二方向上的位移,第二位移差先增大后减小至零;在第四时刻到第二时间段的截止时刻,第二模块组在第二方向上的位移小于等于第三模块组在第一方向上的位移,第二位移差先增大后减小至零。
在一些实施例中,参考图7B至图7D的相关描述,第二时间段可以是t42a时刻至t47时刻,第二时刻可以是t45时刻;在t42a时刻到t45时刻,模块组X的位移大于等于模块组X+1,模块组X和模块组X+1的第一位移差先增大后减小至零;在t45时刻到t47时刻,模块组X的位移小于等于模块组X+1,第一位移差先增大后减小至零。在一些实施例中,参考图7B至图7D的相关描述,第四时刻可以是t46时刻;在t42a时刻到t46时刻,模块组X+1的位移大于等于模块组X+2,模块组X+1和模块组X+2的第二位移差先增大后减小至零;在t46时刻到t47时刻,模块组X+1的位移小于等于模块组X+2,第二位移差先增大后减小至零。
在一种实现方式中,上述第一位移加上第六位移大于最大位移,所述方法还包括:在第二时间段之后的第五时间段,控制第一模块组和第二模块组基于第一预设运动规律沿第二方向的反方向移动第九位移;第五时间段内,第一模块组在第二方向上的位移小于第二模块组在第二方向上的位移,第一位移差先增大再减小至零;第五时间段后第一模块组和第二模块组停止滑动;第九位移等于第一位移加上第六位移再减去最大位移。
在一种实现方式中,上述第一位移加上第六位移大于最大位移,所述方法还包括:在第二时间段之后的第五时间段,控制第三模块组基于第一预设运动规律沿第二方向的反方向移动第九位移;第五时间段内,第二模块组在第二方向上的位移小于第三模块组在第二方向上的位移,第二位移差先增大再减小至零;第五时间段后第三模块组停止滑动;第九位移等于第一位移加上第六位移再减去最大位移。
在一些实施例中,参考图8C,第一位移(SX1)加上第六位移(SX2)大于最大位移Smax,第五时间段可以是t55时刻至t57时刻,第九位移可以是图示的S7;在t55时刻至t57时刻,模块组X的位移小于模块组X+1的位移,模块组X+1的位移小于模块组X+2的位移,第一位移差(即模块组X和模块组X+1的位移差)和第二位移差(即模块组X+1和模块组X+2的位移差)先增大再减小至零;t57时刻后模块组X、模块组X+1和模块组X+2停止滑动。
在一些实施例中,参考图8G,第一位移(SX1)加上第六位移(SX2)大于最大位移Smax,第五时间段可以是t65时刻至t67时刻,第九位移可以是图示的S9;在t65时刻至t67时刻,模块组X的位移小于模块组X+1的位移,模块组X+1的位移小于模块组X+2的位移,第一位移差(即模块组X和模块组X+1的位移差)和第二位移差(即模块组X+1和模块组X+2的位移差)先增大再减小至零;t67时刻后模块组X、模块组X+1和模块组X+2停止滑动。
在一种实现方式中,上述在第二时间段之后的第五时间段,控制第一模块组和第二模块组基于第一预设运动规律沿第二方向的反方向移动第九位移,包括:在第五时间段的起始时刻,控制第一模块组开始基于第一预设运动规律沿第二方向的反方向移动第九位移;在与第五时间段的起始时刻间隔第二时间差的时刻,控制第二模块组开始基于第一预设运动规律沿第二方向的反方向移动第九位移。
在一种实现方式中,上述在第二时间段之后的第五时间段,控制第三模块组基于第一预设运动规律沿第二方向的反方向移动第九位移,包括:在与第五时间段的起始时刻间隔第四时间差的时刻,控制第三模块组开始基于第一预设运动规律沿第二方向的反方向移动第九位移,第四时间差大于第二时间差。
在一些实施例中,参考图8B,在t55时刻起,各模块组组的起始滑动时刻可以存在时间差;参考图8D,在t58时刻起,各模块组组的起始滑动时刻可以存在时间差;参考图8F,在t65时刻起,各模块组组的起始滑动时刻可以存在时间差。其中,模块组X早于模块组X+1,模块组X+1早于X+2,第二时间差可以是模块组X和模块组X+1的时间差,第四时间差可以是模块组X和模块组X+2的时间差。
在一种实现方式中,上述第一位移大于最大位移,所述方法还包括:在第二时间段之后的第六时间段,控制第一模块组和第二模块组基于第一预设运动规律沿第二方向的反方向移动第十位移;第六时间段内,第一模块组在第二方向上的位移小于第二模块组,第一位移差先增大在减小至零;第六时间段后第一模块组和第二模块组停止滑动。
在一种实现方式中,上述第一位移大于最大位移,所述方法还包括:在第二时间段之后的第六时间段,控制第三模块组基于第一预设运动规律沿第二方向的反方向移动第十位移;第六时间段内,第二模块组在第二方向上的位移小于第三模块组,第一位移差先增大再减小至零;第六时间段后第三模块组停止滑动。
在一些实施例中,参考图8E,第六时间段可以是t58时刻到t60时刻,第十位移可以是图示的S8。在t58时刻到t60时刻,模块组X的位移小于模块组X+1的位移,模块组X+1的位移小于模块组X+2的位移,第一位移差(即模块组X和模块组X+1的位移差)和第二位移差(即模块组X+1和模块组X+2的位移差)先增大再减小至零;t60时刻后模块组X、模块组X+1和模块组X+2停止滑动。
在一种实现方式中,上述第一模块组和第二模块组停止滑动时刻相同;或者,第一模块组的停止滑动时刻早于第二模块组停止滑动时刻;或者,第一模块组的停止滑动时刻晚于第二模块组停止滑动时刻。
在一种实现方式中,上述第一模块组、第二模块组和第二模块组停止滑动时刻相同;或者,第一模块组的停止滑动时刻早于第二模块组停止滑动时刻,第二模块组的停止滑动时刻早于第三模块组停止滑动时刻;或者,第一模块组的停止滑动时刻晚于第二模块组停止滑动时刻,第二模块组的停止滑动时刻晚于第三模块组停止滑动时刻。
在一些实施例中,参考图6C,模块组X的停止滑动时刻可以是t14a时刻,模块组X+1的停止滑动时刻可以是t14b时刻,模块组X+1的停止滑动时刻可以是t15时刻,即模块组X的停止滑动时刻早于模块组X+1的停止滑动时刻,模块组X+1的停止滑动时刻早于模块组X+2的停止滑动时刻。针对图5A、图7A、图8B、图8D和图8E所示的页面滑动效果,模块组X、模块组X+1和模块组X+2的最终停止滑动时刻均可以存在三种情况,具体的,可以参考前述实施例,此处不再赘述。
在一种实现方式中,上述第一预设运动规律和第二预设运动规律均为临界阻尼状态下的弹性力运动规律;或者第一预设运动规律为临界状态下的弹性力运动规律,第二预设运动规律为欠阻尼状态下的弹性力运动规律;每个模块组的弹性力运动规律由该模块组的弹性力参数确定。
在一种实现方式中,上述第一时间差、第二时间差、第三时间差和第四时间差大于零;第一模块组的弹性力参数、第二模块组的弹性力参数和第三模块组的弹性力参数相等;或者,第一模块组的弹性力参数大于第二模块组的弹性力参数,第二模块组的弹性力参数大于第三模块组的弹性力参数。在一种实现方式中,上述第一时间差和第二时间差等于零,第一模块组的弹性力参数大于第二模块组的弹性力参数,第二模块组的弹性力参数大于第三模块组的弹性力参数。示例性的,参考图14A至图14D可知,各模块组的起始滑动时刻相同,通过传导系数g调整各模块组的弹性力参数,可以形成相邻模块组的位移差变化;各模块组的弹性力参数相同,通过调整各模块组的起始滑动时刻,可以形成相邻模块组的位移差变化;各模块组的弹性力参数和起始滑动时刻均不同,也可以形成相邻模块组的位移差变化。
在一种实现方式中,上述第一模块组的弹性力参数大于第二模块组的弹性力参数,第二模块组的弹性力参数大于第三模块组的弹性力参数,第二模块组和第三模块组的弹性力参数是根据第一模块组的弹性力参数和传导系数确定的;其中,传导系数越大,则第一模块组和第二模块组的弹性力参数差异,以及第一模块组和第二模块组的弹性力参数差异越大;第一模块组的弹性力参数越大,第一模块组和第二模块组的弹性力参数越大。在一种实现方式中,上述弹性力参数包括刚性系数和阻尼系数的比值;或者,弹性力参数包括刚性系数和/或阻尼系数。具体的,可以参考前述实施例的阻尼传导算法的相关描述,此处不再赘述。
在一种实现方式中,传导系数取值为0.9。
在一种实现方式中,刚性系数取值范围为150至400,阻尼系数的取值范围为1至99。
在一种实现方式中,刚性系数取值为228,阻尼系数的取值为30。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (45)
1.一种页面滑动的处理方法,其特征在于,包括:
所述电子设备检测到作用于第一页面的第一模块沿第一方向的滑动操作;
响应于所述滑动操作,在所述第一时间段内,所述电子设备根据检测到的所述滑动操作沿第二方向的位移,控制所述第一模块组沿所述第二方向滑动,并根据所述第一模块组的位移,控制第二模块组基于第一预设运动规律沿第二方向滑动;
其中,所述第一模块组包括所述第一模块,所述第二模块组包括所述第一页面中所述第一模块组以外的至少一个模块,所述第二模块组是所述电子设备根据所述第二模块组中的模块与所述第一模块的位置关系确定的,所述第二方向是根据所述第一方向确定的,在所述第一时间段,所述第一模块组的位移大于等于所述第二模块组的位移,在所述第一时间段的截止时刻,所述第一模块组和所述第二模块组的第一位移差大于零;
根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段内所述第二模块组在所述第二方向上的第二位移;
在所述第二时间段,控制所述第二模块组在所述第二位移内基于第二预设运动规律滑动;相比于所述第二时间段的起始时刻,在所述第二时间段的截止时刻,所述第一位移差减小。
2.根据权利要求1所述的方法,其特征在于,所述电子设备根据检测到的所述滑动操作沿第二方向的位移,控制所述第一模块组沿所述第二方向滑动,并根据所述第一模块组的位移,控制第二模块组基于第一预设运动规律沿第二方向滑动,包括:
所述电子设备根据检测到的所述滑动操作沿第二方向的位移,在所述第一时间段的起始时刻,控制所述第一模块组开始沿所述第二方向滑动,并根据所述第一模块组的位移,在与所述第一时间段的起始时刻间隔第一时间差的时刻,控制第二模块组开始根据第一预设运动规律沿所述第二方向滑动。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备根据检测到的所述滑动操作沿第二方向的位移,控制所述第一模块组沿所述第二方向滑动,并基于所述第一模块组的位移,控制第二模块组根据第一预设运动规律沿第二方向滑动,包括:
在所述第一时间段内的第一刷新周期,所述电子设备根据所述第一刷新周期的前一刷新周期内所述滑动操作沿所述第二方向的第三位移,控制所述第一模块组沿所述第二方向滑动第四位移,并根据所述前一刷新周期内所述第一模块组滑动的第四位移,控制所述第二模块组基于第一预设运动规律滑动第五位移;其中,所述第四位移等于所述第三位移的h倍,h大于0小于等于1,所述第五位移小于等于所述第四位移。
4.根据权利要求3所述的方法,其特征在于,
当所述第一模块组在所述第一刷新周期的起始时刻的位移小于等于所述第二方向的最大位移时,h等于1;
当所述第一模块组在第一刷新周期的起始时刻的位移大于所述第二方向的最大位移时,h大于零小于1;所述第二方向的最大位移,是根据在所述第一时间段的起始时刻,所述第一页面中所述第二方向的反方向上的第一边缘模块的位置确定的。
5.根据权利要求4所述的方法,其特征在于,所述第一方向的最大位移,等于所述第一边缘模块沿所述第二方向滑动至所述电子设备的显示屏的第一预设位置的位移。
6.根据权利要求1任一项所述的方法,其特征在于,所述根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第二模块组在所述第二方向上的第二位移,包括:
根据所述滑动操作,确定在所述第二时间段所述第一模块组在所述第二方向上的第六位移;
确定所述第二位移等于所述第六位移加上所述第一位移再减去第七位移,所述第七位移为所述第二模块组在所述第一时间段的截止时刻的位移;
所述第一时间段的起始时刻到所述第二时间段的截止时刻,所述第一模块组和所述第二模块组在所述第二方向上的位移等于所述第一位移加上所述第六位移。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述第二时间段,控制所述第一模块组在所述第六位移内基于第二预设运动规律进行滑动。
8.根据权利要求7所述的方法,其特征在于,所述第二时间段内先后包括第三时间段和第四时间段,所述在所述第二时间段,控制所述第二模块组在所述第二位移内基于第二预设运动规律滑动,具体包括:
在所述第三时间段,控制所述第二模块组在第八位移内基于第一预设运动规律进行滑动,所述第八位移等于所述第一位移减去所述第七位移;
在所述第四时间段,控制所述第二模块组在所述第六位移内基于第二预设运动规律进行滑动。
9.根据权利要求1至8任一项所述的方法,其特征在于,在所述第二时间段,所述第一模块组和所述第二模块组沿第二方向的速度大于等于零,所述第一模块组的位移大于等于所述第二模块组;所述第二时间段的起始时刻到所述第二时间段内的第一时刻,所述第一位移差增大;所述第一时刻到所述第二时间段的截止时刻,所述第一位移差减小;在所述第二时间段的截止时刻,所述第一位移差等于零。
10.根据权利要求1至8任一项所述的方法,其特征在于,在所述第二时间段的起始时刻到所述第二时间段的第二时刻,所述第一模块组在所述第二方向上的位移大于等于所述第二模块组在所述第二方向上的位移,所述第一位移差先增大后减小至零;在所述第二时刻到所述第二时间段的截止时刻,所述第一模块组在所述第二方向上的位移小于等于所述第二模块组在所述第一方向上的位移,所述第一位移差先增大后减小至零。
11.根据权利要求9或10所述的方法,其特征在于,所述第一模块组和所述第二模块组在所述第二时间段后停止滑动。
12.根据权利要求6至10任一项所述的方法,其特征在于,
所述第一位移加上所述第六位移大于所述最大位移,所述方法还包括:
在所述第二时间段之后的第五时间段,控制所述第一模块组和所述第二模块组基于第一预设运动规律沿所述第二方向的反方向移动第九位移;所述第五时间段内,所述第一模块组在所述第二方向上的位移小于所述第二模块组在所述第二方向上的位移,所述第一位移差先增大再减小至零,所述第五时间段后所述第一模块组和所述第二模块组停止滑动,所述第九位移等于所述第一位移加上所述第六位移再减去所述最大位移。
13.根据权利要求12所述的方法,其特征在于,所述在所述第二时间段之后的第五时间段,控制所述第一模块组和所述第二模块组基于第一预设运动规律沿所述第二方向的反方向移动第九位移,包括:
在所述第五时间段的起始时刻,控制所述第一模块组开始基于第一预设运动规律沿所述第二方向的反方向移动第九位移;在与所述第五时间段的起始时刻间隔第二时间差的时刻,控制所述第二模块组开始基于所述第一预设运动规律沿所述第二方向的反方向移动第九位移。
14.根据权利要求1所述的方法,其特征在于,所述根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第二模块组在所述第二方向上的第二位移,包括:
所述根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第二模块组在所述第二方向上的第二位移为所述第一位移减去所述第七位移。
15.根据权利要求14所述的方法,其特征在于,所述第一模块组在所述第一时间段后停止滑动,所述第二模块组在所述第二时间段后停止滑动。
16.根据权利要求14所述的方法,其特征在于,
所述第一位移大于所述最大位移,所述方法还包括:
在所述第二时间段之后的第六时间段,控制所述第一模块组和所述第二模块组基于第一预设运动规律沿所述第二方向的反方向移动第十位移;所述第六时间段内,所述第一模块组在所述第二方向上的位移小于所述第二模块组,所述第一位移差先增大在减小至零;所述第六时间段后所述第一模块组和所述第二模块组停止滑动。
17.根据权利要求1至16任一项所述的方法,其特征在于,所述方法还包括:
响应于所述滑动操作,在所述第一时间段内,所述电子设备根据所述第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动;
其中,所述第三模块组包括所述第一页面中所述第一模块组和所述第二模块组以外的至少一个模块,所述第三模块组是所述电子设备根据所述第三模块组中的模块与所述第一模块的位置关系确定的;在所述第一时间段,所述第二模块组的位移大于等于所述第三模块组的位移,在所述第一时间段的截止时刻,所述第一模块组和所述第二模块组的第二位移差大于零;
根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第三模块组在所述第二方向上的第十二位移;
在所述第二时间段,控制所述第三模块组在所述第十二位移内基于第二预设运动规律滑动;相比于所述第二时间段的起始时刻,在所述第二时间段的截止时刻,所述第二位移差减小。
18.根据权利要求17所述的方法,其特征在于,所述在所述第一时间段内,所述电子设备根据所述第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动,包括:
在所述第一时间段内,所述电子设备根据所述第一模块组的位移,在与所述第一时间段的起始时刻间隔第三时间差的时刻,控制第三模块组开始根据第一预设运动规律沿所述第二方向滑动,所述第三时间差大于所述第一时间差。
19.根据权利要求17或18所述的方法,其特征在于,所述在所述第一时间段内,所述电子设备根据所述第一模块组的位移,控制第三模块组基于第一预设运动规律沿第二方向滑动,包括:
在所述第一时间段内的第一刷新周期,所述电子设备根据所述第一刷新周期的前一刷新周期内所述滑动操作沿所述第二方向的第三位移,控制所述第一模块组沿所述第二方向滑动第四位移,并根据所述前一刷新周期内所述第一模块组滑动的第四位移,控制所述第三模块组基于第一预设运动规律滑动第十一位移;其中,所述第四位移等于所述第三位移的h倍,h大于0小于等于1,所述第十一位移小于等于所述第五位移。
20.根据权利要求17所述的方法,其特征在于,所述根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第三模块组在所述第二方向上的第十二位移,包括:
确定所述第十二位移等于所述第六位移加上所述第一位移减去第十三位移,所述第十三位移为所述第三模块组在所述第一时间段的截止时刻的位移;
所述第二时间段的截止时刻,所述第三模块组在所述第二方向上的位移等于所述第一位移加上所述第六位移。
21.根据权利要求17所述的方法,其特征在于,所述第二时间段内先后包括第七时间段和第八时间段,所述在所述第二时间段,控制所述第三模块组在所述第十二位移内基于第二预设运动规律滑动,具体包括:
在所述第七时间段,控制所述第三模块组在第十四位移内基于第一预设运动规律进行滑动,所述第十四位移等于所述第一位移减去所述第十三位移;
在所述第八时间段,控制所述第三模块组在所述第六位移内基于第二预设运动规律进行滑动。
22.根据权利要求17至21任一项所述的方法,其特征在于,在所述第二时间段,所述第三模块组沿第二方向的速度大于等于零,所述第二模块组的位移大于等于所述第三模块组;所述第二时间段的起始时刻到所述第二时间段内的第三时刻,所述第二位移差增大;所述第三时刻到所述第二时间段的截止时刻,所述第二位移差减小。
23.根据权利要求17至21任一项所述的方法,其特征在于,在所述第二时间段的起始时刻到所述第二时间段的第四时刻,所述第二模块组在所述第二方向上的位移大于等于所述第三模块组在所述第二方向上的位移,所述第二位移差先增大后减小至零;在所述第四时刻到所述第二时间段的截止时刻,所述第二模块组在所述第二方向上的位移小于等于所述第三模块组在所述第一方向上的位移,所述第二位移差先增大后减小至零。
24.根据权利要求22或23所述的方法,其特征在于,所述第三模块组在所述第二时间段后停止滑动。
25.根据权利要求17至23任一项所述的方法,其特征在于,
所述第一位移加上所述第六位移大于所述最大位移,所述方法还包括:
在所述第二时间段之后的第五时间段,控制所述第三模块组基于第一预设运动规律沿所述第二方向的反方向移动第九位移;所述第五时间段内,所述第二模块组在所述第二方向上的位移小于所述第三模块组在所述第二方向上的位移,所述第二位移差先增大再减小至零,所述第五时间段后所述第三模块组停止滑动,所述第九位移等于所述第一位移加上所述第六位移再减去所述最大位移。
26.根据权利要求25所述的方法,其特征在于,所述在所述第二时间段之后的第五时间段,控制所述第三模块组基于第一预设运动规律沿所述第二方向的反方向移动第九位移,包括:
在与所述第五时间段的起始时刻间隔第四时间差的时刻,控制所述第三模块组开始基于所述第一预设运动规律沿所述第二方向的反方向移动第九位移,所述第四时间差大于所述第二时间差。
27.根据权利要求17所述的方法,其特征在于,所述根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第三模块组在所述第二方向上的第十二位移,包括:
所述根据所述第一模块组在所述第一时间段的截止时刻的第一位移,确定在所述第一时间段后的第二时间段,所述第三模块组在所述第二方向上的第十二位移为所述第一位移减去所述第十三位移。
28.根据权利要求27所述的方法,其特征在于,所述第一模块组在所述第一时间段后停止滑动,所述第二模块组和所述第三模块组在所述第二时间段后停止滑动,所述第三模块组的停止滑动时刻晚于所述第二模块组的停止滑动时刻。
29.根据权利要求26所述的方法,其特征在于,
所述第一位移大于所述最大位移,所述方法还包括:
在所述第二时间段之后的第六时间段,控制所述第三模块组基于第一预设运动规律沿所述第二方向的反方向移动第十位移;所述第六时间段内,所述第二模块组在所述第二方向上的位移小于所述第三模块组,所述第一位移差先增大再减小至零,所述第六时间段后所述第三模块组停止滑动。
30.根据权利要求11、12或16所述的方法,其特征在于,所述第一模块组和所述第二模块组停止滑动时刻相同;
或者,所述第一模块组的停止滑动时刻早于所述第二模块组停止滑动时刻;
或者,所述第一模块组的停止滑动时刻晚于所述第二模块组停止滑动时刻。
31.根据权利要求24、25或28所述的方法,其特征在于,所述第一模块组、所述第二模块组和所述第二模块组停止滑动时刻相同;
或者,所述第一模块组的停止滑动时刻早于所述第二模块组停止滑动时刻,所述第二模块组的停止滑动时刻早于所述第三模块组停止滑动时刻;
或者,所述第一模块组的停止滑动时刻晚于所述第二模块组停止滑动时刻,所述第二模块组的停止滑动时刻晚于所述第三模块组停止滑动时刻。
32.根据权利要求6所述的方法,其特征在于,所述根据所述滑动操作,确定所述第一模块组在所述第二时间段沿第一方向的滑动的第六位移,包括:
根据所述滑动操作的滑动速度、摩擦力模型和最大位移中的至少一个,确定所述第六位移;其中,所述滑动操作的滑动速度是所述滑动操作停止前的瞬时速度或所述滑动操作的平均速度,所述滑动操作的滑动速度越大,所述第六位移越大;所述摩擦力模型的摩擦力系数越大,所述第六位移越小;所述最大位移越大,所述第六位移越小。
33.根据权利要求7至32任一项所述的方法,其特征在于,所述第一预设运动规律和所述第二预设运动规律均为临界阻尼状态下的弹性力运动规律;
或者,所述第一预设运动规律为临界状态下的弹性力运动规律,所述第二预设运动规律为欠阻尼状态下的弹性力运动规律;每个模块组的弹性力运动规律由该模块组的弹性力参数确定。
34.根据权利要求33所述的方法,其特征在于,所述第一时间差、所述第二时间差、所述第三时间差和所述第四时间差大于零;
所述第一模块组的弹性力参数、所述第二模块组的弹性力参数和所述第三模块组的弹性力参数相等;或者,所述第一模块组的弹性力参数大于所述第二模块组的弹性力参数,所述第二模块组的弹性力参数大于所述第三模块组的弹性力参数。
35.根据权利要求33所述的方法,其特征在于,所述第一时间差和所述第二时间差等于零,所述第一模块组的弹性力参数大于所述第二模块组的弹性力参数,所述第二模块组的弹性力参数大于所述第三模块组的弹性力参数。
36.根据权利要求34或35所述的方法,其特征在于,所述第一模块组的弹性力参数大于所述第二模块组的弹性力参数,所述第二模块组的弹性力参数大于所述第三模块组的弹性力参数,所述第二模块组和所述第三模块组的弹性力参数是根据所述第一模块组的弹性力参数和传导系数确定的;
其中,所述传导系数越大,则所述第一模块组和所述第二模块组的弹性力参数差异,以及所述第一模块和所述第二模块组的弹性力参数差异越大;所述第一模块组的弹性力参数越大,所述第一模块组和所述第二模块组的弹性力参数越大。
37.根据权利要求33所述的方法,其特征在于,所述弹性力参数包括刚性系数和阻尼系数的比值;
或者,所述弹性力参数包括刚性系数和/或阻尼系数。
38.根据权利要求17至37任一项所述的方法,其特征在于,所述第二模块组中的模块和所述第三模块组中的模块在所述第一模块周围的位置分布呈现第一类型分布,且相比所述第三模块组,所述第二模块组更靠近所述第一模块组。
39.根据权利要求38所述的方法,其特征在于,所述第一类型分布包括:圆形分布、椭圆形分布、矩形分布、正方形分布等等。
40.根据权利要求36所述的方法,其特征在于,所述传导系数取值为0.9。
41.根据权利要求37所述的方法,其特征在于,所述刚性系数取值范围为150至400,所述阻尼系数的取值范围为1至99。
42.根据权利要求37所述的方法,其特征在于,所述刚性系数取值为228,所述阻尼系数的取值为30。
43.一种电子设备,包括触控屏,存储器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中,所述一个或多个程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如权利要求1至42任一项所述的方法。
44.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至42任一项所述的方法。
45.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至42任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468134.8A CN114691002B (zh) | 2020-12-14 | 2020-12-14 | 一种页面滑动的处理方法及相关装置 |
PCT/CN2021/137925 WO2022127786A1 (zh) | 2020-12-14 | 2021-12-14 | 一种页面滑动的处理方法及相关装置 |
EP21905715.5A EP4246300A4 (en) | 2020-12-14 | 2021-12-14 | PAGE SHIFT PROCESSING METHOD AND RELATED APPARATUS |
US18/266,916 US20240111403A1 (en) | 2020-12-14 | 2021-12-14 | Page sliding processing method and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468134.8A CN114691002B (zh) | 2020-12-14 | 2020-12-14 | 一种页面滑动的处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114691002A true CN114691002A (zh) | 2022-07-01 |
CN114691002B CN114691002B (zh) | 2023-10-20 |
Family
ID=82060047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011468134.8A Active CN114691002B (zh) | 2020-12-14 | 2020-12-14 | 一种页面滑动的处理方法及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240111403A1 (zh) |
EP (1) | EP4246300A4 (zh) |
CN (1) | CN114691002B (zh) |
WO (1) | WO2022127786A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098713A1 (zh) * | 2022-11-11 | 2024-05-16 | 中兴通讯股份有限公司 | 终端桌面的显示方法、终端、计算机可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015063901A1 (ja) * | 2013-10-30 | 2015-05-07 | 株式会社東芝 | 電子機器、操作制御方法及びプログラム |
US20150277694A1 (en) * | 2014-03-31 | 2015-10-01 | Fu Tai Hua Industry (Shenzhen) Co., Ltd. | Management system for icon and method for electronic device |
CN106354400A (zh) * | 2015-07-17 | 2017-01-25 | 华为终端(东莞)有限公司 | 一种识别触摸操作的方法及装置 |
CN106802808A (zh) * | 2017-02-21 | 2017-06-06 | 北京小米移动软件有限公司 | 悬浮按钮控制方法及装置 |
CN108519851A (zh) * | 2018-04-10 | 2018-09-11 | 维沃移动通信有限公司 | 一种界面切换方法及移动终端 |
CN110737495A (zh) * | 2019-10-14 | 2020-01-31 | 北京字节跳动网络技术有限公司 | 窗口显示方法、装置、终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9891811B2 (en) * | 2015-06-07 | 2018-02-13 | Apple Inc. | Devices and methods for navigating between user interfaces |
US11928483B2 (en) * | 2017-05-16 | 2024-03-12 | Apple Inc. | Devices, methods, and graphical user interfaces for seamless transition of user interface behaviors |
CN115964106B (zh) * | 2021-04-20 | 2024-02-13 | 华为技术有限公司 | 图形界面显示方法、电子设备、介质以及程序产品 |
-
2020
- 2020-12-14 CN CN202011468134.8A patent/CN114691002B/zh active Active
-
2021
- 2021-12-14 WO PCT/CN2021/137925 patent/WO2022127786A1/zh active Application Filing
- 2021-12-14 US US18/266,916 patent/US20240111403A1/en active Pending
- 2021-12-14 EP EP21905715.5A patent/EP4246300A4/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015063901A1 (ja) * | 2013-10-30 | 2015-05-07 | 株式会社東芝 | 電子機器、操作制御方法及びプログラム |
US20150277694A1 (en) * | 2014-03-31 | 2015-10-01 | Fu Tai Hua Industry (Shenzhen) Co., Ltd. | Management system for icon and method for electronic device |
CN106354400A (zh) * | 2015-07-17 | 2017-01-25 | 华为终端(东莞)有限公司 | 一种识别触摸操作的方法及装置 |
CN106802808A (zh) * | 2017-02-21 | 2017-06-06 | 北京小米移动软件有限公司 | 悬浮按钮控制方法及装置 |
CN108519851A (zh) * | 2018-04-10 | 2018-09-11 | 维沃移动通信有限公司 | 一种界面切换方法及移动终端 |
CN110737495A (zh) * | 2019-10-14 | 2020-01-31 | 北京字节跳动网络技术有限公司 | 窗口显示方法、装置、终端及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098713A1 (zh) * | 2022-11-11 | 2024-05-16 | 中兴通讯股份有限公司 | 终端桌面的显示方法、终端、计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4246300A4 (en) | 2024-04-17 |
WO2022127786A1 (zh) | 2022-06-23 |
CN114691002B (zh) | 2023-10-20 |
US20240111403A1 (en) | 2024-04-04 |
EP4246300A1 (en) | 2023-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113726950B (zh) | 一种图像处理方法和电子设备 | |
CN113630572B (zh) | 帧率切换方法和相关装置 | |
CN115469781B (zh) | 图形界面显示方法、电子设备、介质以及程序产品 | |
CN115964106A (zh) | 图形界面显示方法、电子设备、介质以及程序产品 | |
WO2022095744A1 (zh) | Vr显示控制方法、电子设备及计算机可读存储介质 | |
CN115048012A (zh) | 数据处理方法和相关装置 | |
CN116048933A (zh) | 一种流畅度检测方法 | |
CN113489895B (zh) | 确定推荐场景的方法及电子设备 | |
WO2022127786A1 (zh) | 一种页面滑动的处理方法及相关装置 | |
CN115145436A (zh) | 一种图标处理方法及电子设备 | |
WO2022095983A1 (zh) | 一种防止手势误识别的方法及电子设备 | |
CN113721827B (zh) | 悬浮键盘显示方法、电子设备及存储介质 | |
CN113610943B (zh) | 图标圆角化的处理方法及装置 | |
CN111722896B (zh) | 动画播放方法、装置、终端以及计算机可读存储介质 | |
CN115220621A (zh) | 图形界面显示方法、电子设备、介质以及程序产品 | |
WO2022042734A1 (zh) | 一种页面滑动的处理方法及相关装置 | |
CN114205457A (zh) | 一种移动用户界面元素的方法及电子设备 | |
CN114257775A (zh) | 视频特效添加方法、装置及终端设备 | |
WO2022166550A1 (zh) | 数据传输方法及电子设备 | |
CN114690975B (zh) | 一种动效处理方法及相关装置 | |
CN114356196B (zh) | 一种显示方法及电子设备 | |
WO2022222705A1 (zh) | 设备控制方法和电子设备 | |
CN115904184A (zh) | 数据处理方法和相关装置 | |
CN118051148A (zh) | 一种窗口缩放的方法、通信装置以及电子设备 | |
CN116664375A (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 |