一種在移動終端上采用動畫顯示圖片的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖片顯示技術(shù)領(lǐng)域,尤其涉及一種在移動終端上采用動畫顯示圖片的方法。
【背景技術(shù)】
[0002]在圖片展示技術(shù)中,很早就有對圖片的展示的處理。圖片的動態(tài)展示可以提升人對圖片的接受能力,也更有視覺感染力。與此同時,電子相冊、圖片特效、圖片視頻也將圖片展示更加唯美和更加具有視覺沖擊力。但是目前常見的圖片展示為左右切換、上下切換等,需要人工手動去切換,并不能進行暫停、繼續(xù)等功能,這樣顯得圖片比較單調(diào),而且沒有新意,也沒有背景圖片播放音樂,圖片與圖片之間切換交互展示不能夠做得無縫的連續(xù)播放展示,讓人感覺每次圖片切換間都有停頓感,不順暢,大大的降低了用戶體驗與視覺美感。
[0003]尤其是針對移動終端,用戶會經(jīng)常用手機進行拍照和照片的展示,但卻沒有一種比較好的,滿足用戶觀感的照片顯示方式,一方面要求照片之間的切換沒有停頓感,另外一方面不需要用戶始終手動去切換,同時受移動終端操作系統(tǒng)以及硬件環(huán)境的影響,又不適合運行大的電腦插件。在電腦上對圖片進行處理加工的方式也不適合手機用戶,主要的問題是:電腦軟件操作復雜,用戶不方便使用,電腦軟件對硬件的運行環(huán)境要求高。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)中在移動終端上顯示圖片的方法存在的上述不流暢以及必須要用戶進行手動操作的技術(shù)問題,本發(fā)明公開了一種在移動終端上采用動畫顯示圖片的方法。
[0005]本發(fā)明的發(fā)明目的通過下述技術(shù)方案來實現(xiàn):
本發(fā)明公開了一種在移動終端上采用動畫顯示圖片的方法,其具體包括以下的步驟:設(shè)置至少一個動畫形成圖片動畫組,所述動畫用于將圖片進行動畫顯示;設(shè)置兩個圖片容器ImageViewl和ImageView2以及一個圖片文字描述容器Descript1nView,其中一個圖片容器用于裝載當前顯示的圖片,另外一個圖片用于裝載下一張顯示的圖片,圖片文字描述容器Descript1nView用于裝載當前顯示圖片的文字描述,Descript1nView為最上層,當當前顯示的圖片為ImageViewl中的圖片時,ImageView2為最底層,ImageViewl為中間層,當當前顯示的圖片為ImageView2中的圖片時,ImageViewl為最底層,ImageView2為中間層;當圖片加載完成后,第一個需要采用動畫顯示的圖片是ImageViewl中的圖片時,從圖片動畫組中取出第一個動畫,用于ImageViewl中圖片的顯示,在ImageViewl中的圖片進行動畫顯示的時候,該圖片的文字描述Descript1nView也采用動畫進行同步顯示;當ImageViewl中的圖片動畫還剩余設(shè)定的時間閾值時,從圖片動畫組中取出第二個動畫并用于ImageVieW中圖片的顯示,當?shù)谝粡垐D片的動畫完成之后立即漸隱第一張圖片和圖片的描述文字,并開始切換ImageView2和ImageViewl的層級關(guān)系,ImageView2層級在ImageViewl層級之上,并重置圖片文字描述容器Descript1nView中的文字為第二張圖片的圖片描述,同時開始重新執(zhí)行圖片文字動畫。
[0006]更進一步地,上述方法還包括:當采用動畫顯示第二張圖片時,將第三張圖片加載到ImageViewl中,當ImageView2中的圖片動畫還剩余設(shè)定的時間閾值時,從圖片動畫組中取出第三個動畫并用于ImageViewl中圖片的顯示。
[0007]更進一步地,上述方法還包括通過背景音樂播放模塊驅(qū)動音樂播放軟件,當開始進行圖片動畫顯示時開始播放背景音樂。
[0008]更進一步地,上述方法還包括設(shè)置圖片緩存區(qū),將圖片先放置在圖片緩存區(qū),每張圖片的url作為緩存圖片的key值,當需要圖片時,從圖片緩存區(qū)中提取圖片。
[0009]更進一步地,上述將圖片先放置在圖片緩存區(qū)為圖片預(yù)加載過程,預(yù)加載過程具體為:首先預(yù)加載至少3張圖片,其余圖片在圖片動畫顯示的時候進行異步加載。
[0010]更進一步地,上述方法還包括對超出設(shè)定長度的文字描述進行進行截取并進行處理,保證每個圖片的文字描述都在圖片范圍內(nèi)跟著圖片一起動畫。
[0011]更進一步地,上述法還包括當點擊正在進行動畫顯示的圖片時,顯示暫停/繼續(xù)播放按鈕,同時讓當前正在進行動畫顯示的圖片執(zhí)行完成,當前圖片動畫顯示完成后漸隱消失,把下一張圖片顯示出來,然后不做任何動畫。
[0012]更進一步地,上述方法還包括當動畫顯示暫停時,后臺把正在播放的背景音樂進行暫停播放。
[0013]更進一步地,上述方法還包括在進行圖片動畫顯示的時候,同時進行圖片隊列處理。
[0014]更進一步地,上述圖片隊列處理的過程具體為設(shè)置一個動畫顯示隊列,一個回收圖片隊列,每動畫顯示完一張圖片的時候,把該圖片從動畫顯示隊列中移出,并移入回收圖片隊列中,從而記錄當前正在動畫顯示的圖片位置。
[0015]通過采用以上技術(shù)方案,本發(fā)明的有益效果是:每次都是上一個動畫即將顯示完成時,就開始下一個動畫的準備,在顯示當前動畫的時候,將新的圖片加載到另外的一個圖片容器ImageView中,用戶不需要對圖片進行任何的操作就能完成整個圖片內(nèi)容的流暢顯示,方便了用戶的使用。同時使用緩存,使得提高加載效率,用戶使用效果好,還能夠?qū)崿F(xiàn)暫停和繼續(xù),符合用戶的操作習慣。
【附圖說明】
[0016]圖1為本發(fā)明的在移動終端上采用動畫顯示圖片的方法的流程圖。
[0017]圖2為加載圖片并緩存流程圖。
[0018]圖3為創(chuàng)建動畫組流程圖。
[0019]圖4為播放展示流程圖。
[0020]圖5為暫停/繼續(xù)流程圖。
【具體實施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合具體實施例,對本發(fā)明進行進一步詳細的說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]下面以手機作為移動終端詳細說明本發(fā)明的實施過程,當然,移動終端不限于手機,也可以是平板電腦或者其他的移動終端。任何一個基于移動平臺(比如1S/Android/WP)的系統(tǒng),采用本發(fā)明的方法都能夠?qū)崿F(xiàn)讓用戶采用動畫顯示照片。
[0023]本發(fā)明公開了一種在移動終端上采用動畫顯示圖片的方法,其具體包括以下的步驟:步驟一、設(shè)置至少一個動畫形成圖片動畫組,所述動畫用于將圖片進行動畫顯示;步驟二、設(shè)置兩個圖片容器ImageViewl和ImageView2以及一個圖片文字描述容器Descript1nView,其中圖片容器ImageViewl用于裝載當前顯示的圖片,圖片容器ImageView2用于裝載下一張顯示的圖片,圖片文字描述容器Descript1nView用于裝載當前顯不圖片的文字描述,Descript1nView為最上層,ImageView2為最底層,ImageViewl為中間層;步驟三、從圖片動畫組中取出第一個動畫,用于ImageViewl的顯示,在ImageViewl圖片進行動畫顯示的時候,該圖片的文字描述Descript1nView也采用動畫進行同步顯示;步驟四、當ImageViewl中的圖片動畫還剩余設(shè)定的時間閾值時(比如還剩下0.3秒時),從圖片動畫組中取出第二個動畫并用于ImageView2中圖片的展示,當?shù)谝粡垐D片的動畫完成之后立即漸隱第一張圖片和圖片的描述文字,并開始切換ImageVieW和ImageViewl的層級關(guān)系,ImageView2層級在ImageViewl層級之上,并重置圖片文字描述容器Descript1nView中的文字為第二張圖片的圖片描述,同時開始重新執(zhí)行圖片文字動畫。通過上述的方法,采用動畫對圖片進行顯示,圖片切換時沒有停頓感,提高了用戶的使用感受,方便了用戶的使用。
[0024]更進一步地,上述方法還包括:當采用動畫顯示第二張圖片時,將第三張圖片加載到ImageViewl中,當ImageView2中的圖片動畫還剩余設(shè)定的時間閾值時(比如還剩下0.3秒時),從圖片動畫組中取出第三個動畫并用于ImageViewl中圖片的展示。其中:第一個動畫、第二個動畫和第三個動畫可以相同,也可以完全不同,也可以隨機而定,本領(lǐng)域的技術(shù)人員完全可以根據(jù)需要靈活設(shè)定。每次都是上一個動畫即將顯示完成時,就開始下一個動畫的準備,在顯示當前動畫的時候,將新的圖片加載到另外的一個圖片容器ImageView中,用戶不需要對圖片進行任何的操作就能完成整個圖片內(nèi)容的流暢顯示,方便了用戶的使用。
[0025]更進一步地,上述方法還包括通過背景音樂播放模塊驅(qū)動音樂播放軟件,當開始進行圖片動畫顯示時開始播放背景音樂。通過背景音樂的播放使得用戶更加享受圖片觀看的過程,提高了用戶的使用體驗。
[0026]更進一步地,上述方法還包括設(shè)置圖片緩存區(qū),將加載后的圖片放置在圖片緩存區(qū),每張圖片的url作為緩存圖片的key值,當需要圖片時,從圖片緩存區(qū)中提取圖片。對圖片進行預(yù)加載可以讓圖片更快速的展示而不必浪費更多時間在等待加載上,而且在把圖片加載成功后并把圖片進行緩存到緩存中,每張圖片的url作為緩存圖片的key值,保證在取出相應(yīng)圖片的時候可以更加快速,從緩存取圖片比普通直接讀取圖片要快至少2倍;圖片預(yù)加載是首先預(yù)加載至少3張,并能保證可以播放展示圖片,其余圖片可以在播放圖片動畫的時候進行異步加載,節(jié)約加載緩存圖片的時間成本。(具體流程如流程如圖2所示)。
[0027]更進一步地,上述方法還包括對超出設(shè)定長度的文字描述進行進行截取并進行打點處理。對文字描述進行長度設(shè)定,對于超長文字進行截取并進行打點處理,保證每個圖片描述都在圖片范圍內(nèi)跟著圖片一起動畫。
[0028]更進一步地,上述方法還包括當點擊正在進行展示播放的圖片的時候,顯示暫停/繼續(xù)播放按鈕,同時讓當前正在進行展示播放的圖片的動畫執(zhí)行完成,當前圖片展示完成后并漸隱消失,把下一張圖片展示出來,然后不做任何動畫;并通過后臺把正在播放的背景音樂進行暫停播放。
[0029]圖1為本發(fā)明的在移動終端上采用動畫顯示圖片的方法的流程圖。在程序啟動后先準備圖片動畫組以及將圖片