Android 幀動畫(Frame Animation) 動畫停止在第一幀
專案中遇到的問題:
需求: 做一個聊天頁面,要求播放語音時,有一個類似於喇叭的動畫,從小到大不停迴圈,語音播放完,動畫停止在第一幀。當點選正在播放的語音時,語音停止,動畫回覆到第一幀(回覆到第一幀是難點)
實現:用Frame Animation
可以在Java程式碼中新增每一幀的動畫,也可以建立動畫布局,我用的是建立動畫布局。
1.建立動畫布局,在drawable資料夾下建立佈局imv_anim_bg.xml(名字自己定義):
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/communicaiton_sound_self_03" android:duration="500"/> <item android:drawable="@drawable/communicaiton_sound_self_01" android:duration="500"/> <item android:drawable="@drawable/communicaiton_sound_self_02" android:duration="500"/> <item android:drawable="@drawable/communicaiton_sound_self_03" android:duration="500"/> </animation-list>
解釋一下:android:oneshot="false" false:迴圈播放動畫, true: 只播放一次
2.在佈局中新增ImageView控制元件,設定其背景為上述動畫。
3.在java程式碼中實現動畫的播放,停止,回覆第一幀:
獲得動畫例項;
anim = (AnimationDrawable) imv.getBackground(); // anim 為AnimationDrawable物件,imv為ImageView物件,就是要實現動畫效果的ImageView
獲取動畫例項後就可以實現動畫播放,停止等操作
動畫播放:
動畫停止:anim.start();
anim.stop(); // stop方法實際上只是動畫的暫停方法,當呼叫此方法時,動畫會停止到當前正在播放的那一幀,並不會停止到第一幀,當在此方法之後呼叫start()方法,會繼續下一幀播放
動畫恢復到第一幀動畫:
anim.selectDrawable(0); //選擇當前動畫的第一幀,然後停止
anim.stop();
討論:
動畫恢復到第一幀:
在專案是現實時,剛開始用的方法是anim.setVisible(true,true); 檢視文件發現,setVisible方法的第二個引數是reset,因此設定其為true,目的是實現anim的重置,此方法可用,但是在之後的測試中發現在Lenovo等手機中,系統並不支援此方法。
在之後的調查中發現上述返回第一幀的方法,目前沒有發現不支援此方法的手機
相關推薦
Android 幀動畫(Frame Animation) 動畫停止在第一幀
專案中遇到的問題: 需求: 做一個聊天頁面,要求播放語音時,有一個類似於喇叭的動畫,從小到大不停迴圈,語音播放完,動畫停止在第一幀。當點選正在播放的語音時,語音停止,動畫回覆到第一幀(回覆到第一幀是難點) 實現:用Frame Animation 可以在Java程式碼中新
Android 屬性動畫(Property Animation) 全然解析 (上)
顏色 valid 全部 加速度 ext target ng- 點擊 save 轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/380674751、概述Android提供了幾種動畫類型:View Anima
Android 屬性動畫(Property Animation) 完全解析 (上)【轉】
轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/38067475 1、概述 Android提供了幾種動畫型別:View Animation 、Drawable Animation 、Property Anima
Android 屬性動畫(Property Animation) 完全解析 (上)
目錄(?)[+] 1、概述 Android提供了幾種動畫型別:View Animation 、Drawable Animation 、Property Animation 。View Animation相當簡單,不過只能支援簡單的縮放、平移、旋轉、透明度基本的動畫,
Android過渡動畫(Transition Animation)
本篇部落格記錄一下Android中過渡動畫的用法。 過渡動畫是Android 4.4引入的新的動畫框架,它本質上仍是屬性動畫, 但對屬性動畫做了一層封裝,以方便開發者實現Activity或者View的過渡動畫效果。 和屬性動畫相比,過渡動畫最大的不同是需要
Android 屬性動畫(Property Animation)一
1、概述 Android提供了幾種動畫型別:View Animation 、Drawable Animation 、Property Animation 。View Animation相當簡單,不過只能支援簡單的縮放、平移、旋轉、透明度基本的動畫,且有一定的侷限
屬性動畫(property animation) &重複執行
Android中的動畫分為檢視動畫(View Animation)即Tween Animation(補間動畫)、屬性動畫(Property Animation)以及Drawable動畫即Frame Animation(幀動畫)。從Android 3.0(API
iOS動畫(Core Animation)使用
#import <Foundation/Foundation.h> @interface AnimationManager : NSObject /* 閃爍動畫 * time:閃爍間隔 * repeatCount = MAXFLOAT(永久閃爍)重複次數 */ + (CABasic
iOS動畫(Core Animation)總結
一、簡介 iOS動畫主要是指Core Animation框架。官方使用文件地址為:Core Animation Guide。Core Animation是iOS和macOS平臺上負責圖形渲染與動畫的基礎框架。Core Animation可以作用與動畫檢視或者其他可視元素,
幀中繼(frame-relay)
與私有或租用線路相比,幀中繼提供更高的頻寬、可靠性和彈性。由於所需的裝置較少,複雜性較低,並且更容易實現,因此幀中繼可以降低網路的成本。由於以上原因,幀中繼已成為世界上應用最廣泛的 WAN 技術。 LAN 邊緣的 DTE 裝置與運營商邊緣的 DCE 裝置之間的幀中繼連線包含一
Android 學習之逐幀動畫(Frame)
http sta ram override start pub fill creat 代碼 幀動畫就是將一些列圖片。依次播放。利用肉眼的“視覺暫留”的原理,給用戶的感覺是動畫的錯覺,逐幀動畫的原理和早期的電影原理是一樣的。 a:須要定義逐幀動畫,能夠通過代碼定義。也能夠
Android三種動畫View Animation(補間動畫) 、Drawable Animation(幀動畫) 、Property Animation(屬性動畫)(下)
轉載:http://blog.csdn.net/lmj623565791/article/details/38092093 三種動畫的優缺點: (1)Frame Animation(幀動畫)主要用於播放一幀幀準備好的圖片,類似GIF圖片,優點是使用簡單
筆記八 :EgretH5通用MVC框架的入門操作:製作並播放幀動畫(UI部分)
前言:幀動畫是遊戲中最常用的的兩種動畫播放形式之一,其中一種是骨骼動畫,一種就是幀動畫了,在H5遊戲中,幀動畫一般用於UI介面的操作動畫,人物技能,特效什麼的。本筆記基於通用MVC框架,以及“筆記一”中的scene搭建的範例,基於原始碼我的資源中的《筆記一到筆記七原始碼》,最
【Android】屬性動畫(基本用法)
1、前言 在我們體驗一款APP時,炫酷的動畫往往能讓使用者體驗大幅度提升。想當年我剛學Android的時候,無意中看到蘑菇街購物車的動畫效果,把我給激動得,非要在自己的APP中加入那動畫,記得當時用費了好大的勁...不提了,說多了都是淚... 先了解下,目前可以實現動畫的
Android今日頭條(微頭條)點贊動畫
前言 設計很開心,又找到一個好看的效果。 開發很痛苦,又要百度找效果。納尼!!!沒找到!!! o(TωT)o 設計直接把原效果給我看,讓我抄… 預覽 APK下載 思路
android字型閃爍動畫(執行緒)
android字型閃爍動畫,使用執行緒和Timer實現 public class ActivityMain extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCre
Android動畫之Frame Animation
在開始例項講解之前,先引用官方文件中的一段話: Frame動畫是一系列圖片按照一定的順序展示的過程,和放電影的機制很相似,我們稱為逐幀動畫。Frame動畫可以被定義在XML檔案中,也可以完全編碼實現。 如果被定義在XML檔案中,我們可以放置在/res下的anim或drawable目錄中(/res/[ani
單頁面跳轉添加返回和跳轉動畫(仿app) 只對單頁面和跳轉有用,我用的是angualr,有不會的可以私信問我。
hist page func margin consola color -s tar pla p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #596972 } p.p2 { mar
Qt開場動畫(gif效果)的實現
Qt自己提供了一個開場動畫的類QSplashScreen,可以實現簡單的圖片開場的效果,但是是靜態的圖片。 Qt播放gif格式圖片是利用的QMovie實現的。因此利用QMoviee和QTimer,每隔一段時間將QSplashScreen重繪一次,來實現gi
vue——32-動畫-列表動畫(transition-group)
css li { border: 1px dashed red; margin: 5px; line-height: 35px; list-style: none;