CN109298903B - 用于无缝图片预览的方法、计算设备和存储介质 - Google Patents
用于无缝图片预览的方法、计算设备和存储介质 Download PDFInfo
- Publication number
- CN109298903B CN109298903B CN201810826666.0A CN201810826666A CN109298903B CN 109298903 B CN109298903 B CN 109298903B CN 201810826666 A CN201810826666 A CN 201810826666A CN 109298903 B CN109298903 B CN 109298903B
- Authority
- CN
- China
- Prior art keywords
- picture
- view
- viewpager
- preview
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种用于在Android应用中实现无缝图片预览的方法、计算设备和非暂时性机器可读存储介质。所述方法包括在点击图片View的同时,新建ViewPager添加到DecorView,将各个图片的位置信息传递给ViewPager并渲染出图片的View,隐藏该图片的View,并且,在View渲染成功后,执行该图片的View的位置移动的动画;当动画执行完成后,进入ViewPager层的页面;当左右滑动ViewPager时,切换显示各个图片。本发明突破了Android***限制,实现了完美的图片预览模式,不仅能做到图片无缝预览,也支持多图片同时预览,并且流畅返回到指定图片位置的功能。
Description
技术领域
本发明涉及图片显示技术领域,更具体地涉及一种用于在Android应用中实现无缝图片预览的方法、计算设备和非暂时性机器可读存储介质。
背景技术
为了追求用户体验的提升,期待图片查看器能够在点击图片时以一种无缝顺畅的动画切换到图片查看的界面,同样以一种无缝顺畅的动画退出图片查看界面。目前,IOS版本的QQ、微信、新浪微博的图片浏览功能基本上都能够无缝流畅地进行图片预览。然而,现有的Android版本的各大APP应用中由于***实现的限制而导致无法做到像IOS那样流畅的无缝图片预览。
发明内容
为了克服现有技术中的上述不足,本发明提供一种用于在Android应用中实现无缝图片预览的方法、计算设备和非暂时性机器可读存储介质。
根据本发明的第一方面,提供一种用于在Android应用中实现无缝图片预览的方法。所述方法包括:记录要预览的图片组中的各个图片在屏幕中的位置信息;在点击所述图片组中的特定图片的View的同时,新建ViewPager添加到DecorView,将所述图片组中的各个图片的位置信息传递给ViewPager并渲染出依次传递到ViewPager的图片的View,隐藏所述特定图片的View,并且,在ViewPager中的图片的View渲染成功后,执行从所述特定图片的View的位置移动到所述特定图片在预览页面中的View的位置的动画;当动画执行完成后,进入ViewPager层的页面;当左右滑动ViewPager时,切换显示所述图片组的各个图片。
在本发明的一种改进实施方式中,所述方法还包括:在记录要预览的图片组中的各个图片在屏幕中的位置信息之前,将图片预览层抽离出并添加到顶层的DecorView中。
在本发明的一种改进实施方式中,所述方法还包括:当ViewPager切换到所述图片组的某个图片的位置时,通知所述图片组隐藏所述某个图片的View并显示所述图片组的其他图片的View。
在本发明的一种改进实施方式中,所述方法还包括:如果当ViewPager切换到所述图片组的某个图片的位置时要退出预览,则以所述某个图片在ViewPager中显示的View对应的位置为起点且以所述某个图片在前一层图片组的控件View的位置为终点执行动画。
在本发明的一种改进实施方式中,所述方法还包括:当以所述某个图片在ViewPager中显示的View对应的位置为起点且以所述某个图片在前一层图片组的控件View的位置为终点执行动画完成后,将ViewPager从DecorView中移除。
在本发明的一种改进实施方式中,所述方法还包括:当以所述某个图片在ViewPager中显示的View对应的位置为起点且以所述某个图片在前一层图片组的控件View的位置为终点执行动画完成后,显示所述某个图片的控件View,并且,使所述图片组的所有图片的View恢复到初始状态。
在本发明的一种改进实施方式中,所述位置信息包含图片在屏幕中的至少一个顶点的坐标位置。
在本发明的一种改进实施方式中,所述位置信息还包含图片在屏幕中的高度和宽度。
根据本发明的第二方面,提供一种计算设备,所述计算设备包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述方法。
根据本发明的第三方面,提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行上述方法。
本发明的技术方案突破了Android***限制,实现了完美的图片预览模式,不仅能做到图片无缝预览,也支持多图片同时预览,并且流畅返回到指定图片位置的功能。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
图1为根据本发明示例性实施例的用于在Android应用中实现无缝图片预览的方法的流程图。
图2为根据本发明示例性实施例的可用于在Android应用中实现无缝图片预览的方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本发明针对目前Android应用中的***限制而提出了一种用于在Android应用中实现无缝图片预览的方法。该方法包括:记录要预览的图片组中的各个图片在屏幕中的位置信息;在点击所述图片组中的特定图片的View的同时,新建ViewPager添加到DecorView,将所述图片组中的各个图片的位置信息传递给ViewPager并渲染出依次传递到ViewPager的图片的View,隐藏所述特定图片的View,并且,在ViewPager中的图片的View渲染成功后,执行从所述特定图片的View的位置移动到所述特定图片在预览页面中的View的位置的动画;当动画执行完成后,进入ViewPager层的页面;当左右滑动ViewPager时,切换显示所述图片组的各个图片。该方法突破了Android***限制,实现了完美的图片预览模式,不仅能做到图片无缝预览,也支持多图片同时预览,并且流畅返回到指定图片位置的功能。
在对本发明的技术方案进行具体描述之前,首先对本发明中所提及的术语进行适当的解释。
本文中所提及的“图片组”是指一组显示在某个空间中的图片集合。
本文中所提及的“图片View”(图片视图)是指显示该图片的空间。
本文中所提及的“Activity”(活动)是Android的基本组成单位,每个Activity都被定义为一个单独的类,且都继承自基类:android.app.Activity;它是一种包含用户界面的组件,主要用来与用户进行交互。Activity并不负责视图控制,它只是控制生命周期和处理事件。
本文中所提及的“DecorView”是FrameLayout的子类,它可以被认为是Android视图树的根节点视图。DecorView作为顶级View。
本文中所提及的“ViewPager”是一个可以左右滑动的View,能支持添加多个任意的View。
图1示出了根据本发明示例性实施例的用于在Android应用中实现无缝图片预览的方法的流程图。如图1所示,首先,在步骤S1中记录图片组中的各个图片在屏幕中的位置信息。记录各个图片的位置信息的主要目的是为了记录图片浏览时的起点或者退出浏览时的终点。这里的位置信息可以包含图片在屏幕中的至少一个顶点的坐标位置(x,y),并且,还可以包含图片在屏幕中的高度和宽度。假设图片组有3个图片A、B、C渲染到的View分别为ViewA、ViewB、ViewC。在这种情况下,首先记录此三个图片在屏幕中的位置信息(x,y,width,height等),此信息代表该View在屏幕中的相对位置。另外,在记录各个图片的位置信息之前,可以将图片预览层抽离出,添加到顶层的DecorView中。
然后,点击图片组中的某个View。假设点击图片ViewA,需要同时执行下述步骤:
步骤S2:新建ViewPager添加到DecorView(通过Activity.getWindow().getDecorView()获取)中;
步骤S3:将图片组中ViewA、View、ViewC的位置信息传递给ViewPager,并且渲染出图片依次到ViewPager中的图片View;
步骤S4:隐藏图片ViewA;
步骤S5:将ViewPager中的图片View渲染成功后,执行从ViewA位置移动到自身位置的动画,也就是位置移动(此部分就是无缝的)。
接下来,在步骤S6中进行ViewPager滑动。具体地,当动画执行完成后进入ViewPager层的页面,并左右滑动ViewPager切换显示图片A、B、C。假设切换到图片B时,通知图片组隐藏ViewB,并显示ViewA、ViewC。同样地,当切换到图片A时,通知图片组隐藏ViewA,并显示ViewB、ViewC;当切换到图片C时,通知图片组隐藏ViewC,并显示ViewA、ViewB。
最后,在步骤S7中退出预览。假设现在ViewPager切换到图片B的位置,此时的需要执行动画的起点为ViewPager中显示图片B的View对应的位置,终点为图片B在上一层图片组的控件ViewB的位置,由此起点和终点位置关系做动画,就能无缝退出。当执行动画完成后,显示ViewB控件,让所有图片组的View恢复初始状态。
由此可知,本示例性实施例的用于在Android应用中实现无缝图片预览的方法突破了Android***限制,实现了完美的图片预览模式,不仅能做到图片无缝预览,也支持多图片同时预览,并且流畅返回到指定图片位置的功能。
图2示出了根据本发明示例性实施例的可用于实现上述在Android应用中实现无缝图片预览的方法的计算设备的结构示意图。
参见图2,计算设备1000包括存储器1010和处理器1020。
处理器1020可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1020可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1020可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器1010可以包括各种类型的存储单元,例如***内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的在Android应用中实现无缝图片预览的方法。
上文中已经参考附图详细描述了根据本发明的在Android应用中实现无缝图片预览的方法。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种用于在Android应用中实现无缝图片预览的方法,其特征在于,所述方法包括:
记录要预览的图片组中的各个图片在屏幕中的位置信息;
在点击所述图片组中的特定图片的View的同时,
新建ViewPager添加到DecorView,
将所述图片组中的各个图片的位置信息传递给ViewPager并渲染出依次传递到ViewPager的图片的View,
隐藏所述特定图片的View,并且
在ViewPager中的图片的View渲染成功后,执行从所述特定图片的View的位置移动到所述特定图片在预览页面中的View的位置的动画;
当动画执行完成后,进入ViewPager层的页面;
当左右滑动ViewPager时,切换显示所述图片组的各个图片。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在记录要预览的图片组中的各个图片在屏幕中的位置信息之前,将图片预览层抽离出并添加到顶层的DecorView中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当ViewPager切换到所述图片组的某个图片的位置时,通知所述图片组隐藏所述某个图片的View并显示所述图片组的其他图片的View。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果当ViewPager切换到所述图片组的某个图片的位置时要退出预览,则以所述某个图片在ViewPager中显示的View对应的位置为起点且以所述某个图片在前一层图片组的控件View的位置为终点执行动画。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当以所述某个图片在ViewPager中显示的View对应的位置为起点且以所述某个图片在前一层图片组的控件View的位置为终点执行动画完成后,将ViewPager从DecorView中移除。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当以所述某个图片在ViewPager中显示的View对应的位置为起点且以所述某个图片在前一层图片组的控件View的位置为终点执行动画完成后,显示所述某个图片的控件View,并且,使所述图片组的所有图片的View恢复到初始状态。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述位置信息包含图片在屏幕中的至少一个顶点的坐标位置。
8.根据权利要求7所述的方法,其特征在于,所述位置信息还包含图片在屏幕中的高度和宽度。
9.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-8中任何一项所述的方法。
10.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810826666.0A CN109298903B (zh) | 2018-07-25 | 2018-07-25 | 用于无缝图片预览的方法、计算设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810826666.0A CN109298903B (zh) | 2018-07-25 | 2018-07-25 | 用于无缝图片预览的方法、计算设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109298903A CN109298903A (zh) | 2019-02-01 |
CN109298903B true CN109298903B (zh) | 2021-09-14 |
Family
ID=65168139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810826666.0A Active CN109298903B (zh) | 2018-07-25 | 2018-07-25 | 用于无缝图片预览的方法、计算设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109298903B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857481A (zh) | 2020-07-24 | 2020-10-30 | 京东方科技集团股份有限公司 | 图像显示方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709063A (zh) * | 2017-01-17 | 2017-05-24 | 维沃移动通信有限公司 | 查看图片的方法及移动终端 |
CN107632759A (zh) * | 2017-08-21 | 2018-01-26 | 珠海市魅族科技有限公司 | 图片展示方法、装置、计算机装置及计算机可读存储介质 |
CN107832052A (zh) * | 2017-10-11 | 2018-03-23 | 东软集团股份有限公司 | 展示预览页面的方法、装置和存储介质以及电子设备 |
-
2018
- 2018-07-25 CN CN201810826666.0A patent/CN109298903B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709063A (zh) * | 2017-01-17 | 2017-05-24 | 维沃移动通信有限公司 | 查看图片的方法及移动终端 |
CN107632759A (zh) * | 2017-08-21 | 2018-01-26 | 珠海市魅族科技有限公司 | 图片展示方法、装置、计算机装置及计算机可读存储介质 |
CN107832052A (zh) * | 2017-10-11 | 2018-03-23 | 东软集团股份有限公司 | 展示预览页面的方法、装置和存储介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109298903A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10871868B2 (en) | Synchronized content scrubber | |
US9589381B2 (en) | Copying of animation effects from a source object to at least one target object | |
US8656297B2 (en) | Enhanced virtualization system | |
CN112947969B (zh) | 一种页面离屏渲染方法、装置、设备和可读介质 | |
JP6882992B2 (ja) | 動画像をプレビューする方法及びデバイス、並びに表現パッケージを表示する方法及びデバイス | |
KR20190131074A (ko) | 가상 장면 디스플레이 방법 및 디바이스, 및 저장 매체 | |
KR102091961B1 (ko) | Gpu 자원 재구성 방법, 사용자 디바이스, 시스템 및 저장 매체 | |
US11550452B1 (en) | Presentation of a media sequence | |
KR102390688B1 (ko) | 보편적인 인터렉션으로 컨텐츠를 영구 저장부에 캡쳐하는 기법 | |
US20130263003A1 (en) | Method and apparatus for grouping video tracks in a video editing timeline | |
US20170237936A1 (en) | Information processing apparatus, method for controlling the information processing apparatus, and recording medium | |
US10795606B2 (en) | Buffer-based update of state data | |
CN110806847A (zh) | 一种分布式多屏幕显示方法、装置、设备及*** | |
CN104937570A (zh) | 从原始图像备份数据恢复文件***对象 | |
CN109284066A (zh) | 一种数据处理方法、装置、设备及*** | |
CN109298903B (zh) | 用于无缝图片预览的方法、计算设备和存储介质 | |
US20140173442A1 (en) | Presenter view in presentation application | |
US11243678B2 (en) | Method of panning image | |
CN116841799A (zh) | 虚拟机备份方法、***、设备及可读存储介质 | |
US10902179B2 (en) | Modification of file graphic appearance within a collection canvas | |
US20150067656A1 (en) | Methods and Systems for Testing Interactions Between Mobile Applications | |
CN110531925A (zh) | 数据读取方法、装置、电子设备及机器可读存储介质 | |
US20150363101A1 (en) | Video scrolling shortcuts for touchscreen display | |
WO2022068370A1 (zh) | 用于终端的负二屏界面显示方法、装置、终端及介质 | |
KR101699909B1 (ko) | 삽입형 광고 디스플레이 방법 및 이를 수행하는 장치 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200901 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 15 layer self unit 02 Applicant before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |