當前位置:首頁 » 安卓系統 » android動畫停止

android動畫停止

發布時間: 2022-06-09 06:58:06

1. Android 幀動畫何時停止播放

可以通過一些其他方式來做到。
方式一,當動畫開始start之後,我們可以通過檢測是否到達幀動畫的最後一幀,來確定動畫是否播完。這種方式可以保證動畫播完。
方式二,重寫AnimationDrawable,獲得totalDuration,然後動畫start之後的totalDuration,調用結束的介面回調onAnimationFinshed()。為什麼必須重寫呢?因為,AnimationDrawable僅提供了每一幀的ration,而不能直接獲得動畫總的ration。
當然還有一些變種的方法,但是其大體思路都應該差不多。至於動畫是否流暢播放,這要取決於你播放動畫的時候,系統的繁忙程度。

2. android 補間動畫怎麼取消

9.1.4 cancel方法:取消動畫
【功能說明】該方法用於取消一個動畫的執行。該方法是取得一個正在執行中的動畫的主要方法。cancel方法和startNow方法結合可以實現對動畫執行過程的控制。需要注意的是,通過cancel方法取消的動畫,必須使用reset方法或者setAnimation方法重新設置,才可以再次執行動畫。
【基本語法】public void cancel ()
【實例演示】下面通過代碼來演示如何取消動畫效果執行。
public class firstActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //重載onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView對象 Button btn1=(Button)findViewById(R.id.button1); //按鈕對象 Button btn2=(Button)findViewById(R.id.button2); final Animation translateAnimation=new TranslateAnimation(0,200,0,200);//移動動畫效果 btn1.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //設置動畫持續時間 image.setAnimation(translateAnimation); //設置動畫效果 translateAnimation.startNow(); //啟動動畫 } }); btn2.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消動畫執行 } }); } }

在這段代碼中,首先初始化了一個移動的動畫效果translateAnimation。然後,在第一個按鈕監聽器中,通過setDuration方法設置動畫持續時間,並為image對象設置動畫效果,最後使用startNow方法啟動動畫效果。在第二個按鈕監聽器中,調用cancel方法取消動畫執行。讀者執行這段代碼,可以在手機屏幕上看到如圖9.2所示的顯示效果。當點擊"執行動畫"按鈕時,圖片開始移動;當點擊"停止動畫"按鈕時,動畫被取消,重新返回起始位置。

3. Android 中 Animation 怎麼停止

最近遇到一個需求,通過在GridView上改變焦點,並且GridView上每個item有一個隱藏的層,獲取焦點之後,通過AlphaAnimation顯示出來。

發現當ration大於500時,快速移動焦點,每個item都會播放一次動畫。

需求是焦點移動到別的item,當前item的動畫停止。

通過測試發現,調用Animation中的cancel()方法不能實現這樣的效果。

我使用了以下方法,均未成功:
1.調用Animation的cancel()方法;
2.將播放動畫的view invisible。
3.將正在播放的動畫置null。

在國外的一個論壇中,找到了結果。

調用view中的clearAnimation()方法,即可消除view上正在運行的動畫效果。

4. android 怎麼將activity 退出的動畫效果關閉

在AndroidMenifest.xml文件裡面的Activity聲明中,增加自己的Theme聲明,如下:
<activity
android:name=".MyOrderListServiceActivity"
android:theme="@style/MyTheme"
>
在values的style.xml文件里 聲明 一個style,起名為MyTheme,注意這裡面有我自定義的東西,涉及到動畫的聲明,就只有 <item name="android:windowAnimationStyle">@style/AnimationActivity</item>這一項。
<style name="MyTheme">
<!-- float_box為我們定義的窗口背景 -->
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
</style>

在values的style.xml文件里 聲明 一個style,起名為AnimationActivity,沒錯就是上面的MyTheme中的windowAnimationStyle的實現,如下:
<style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/slide_in_bottom</item>
<item name="android:activityOpenExitAnimation">@anim/slide_out_bottom</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_in_bottom</item>
<item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item>
</style>
添加完以上的內容,有的機器雖然進入的動畫是可用的,但是退出的動畫無效,還需要在你的Activity中添加一些代碼,保證animation的完美運行
添加全局變數
protected int activityCloseEnterAnimation;
protected int activityCloseExitAnimation
在OnCreate裡面添加如下代碼:
TypedArray activityStyle = getTheme().obtainStyledAttributes(new int[] {android.R.attr.windowAnimationStyle});
int windowAnimationStyleResId = activityStyle.getResourceId(0, 0);
activityStyle.recycle();
activityStyle = getTheme().obtainStyledAttributes(windowAnimationStyleResId, new int[] {android.R.attr.activityCloseEnterAnimation, android.R.attr.activityCloseExitAnimation});
activityCloseEnterAnimation = activityStyle.getResourceId(0, 0);
activityCloseExitAnimation = activityStyle.getResourceId(1, 0);
activityStyle.recycle();
在你的程序finish之前,需要調用如下代碼:
overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation);
我調用的例子如下:
@Override
public void finish() {
Log.i(TAG, "finish");
super.finish();
overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation);
}

這樣就可以了。

5. android AnimationDrawable 動畫 stop時 怎樣停留在第一幀畫面

view.selectDrawable(0);

6. 為組件載入動畫後,在動畫結束時,如何使組件停在結束位置啊

嗯,這個設置一下就可以了在中不是有個屬性androidneshot嗎,當設置為true時,不會循環播放,而且當它播放完停止時默認就是在動畫結束的位置。

7. Android中如何使用動畫實現文字從右邊平移過來之後,再往右回退一點,然後停止

可以在布局裡面寫動畫,先是從右往左平移,然後另一個是從左往右平移,可以設置平移的時間。在代碼中找到你的textview控制項,然後設置textview的動畫是你剛剛寫的布局裡面的動畫,再寫一句開始動畫的代碼就可以了。主要就是布局裡面寫動畫的效果,代碼裡面找到這個動畫並且應用到具體的控制項。需要代碼的話再找我,應該很好理解吧。

8. android逐幀動畫如何讓動畫停在最後一張

在工程res文件目錄下新建一個anim文件夾,在裡面新建一個start_animation.xml格式文件,此文件用來定義動畫播放圖片的順序及每一張圖片顯示停留時間。
在這里增加android:oneshot="true"屬性, 會停留在最後一幀

9. 關於android開機動畫在什麼時候停止的問題

樓主您好 開機動畫壓縮包為 bootanimation.zip 解壓此壓縮包,內含一個TXT文檔 desc.txt--------這是一個保存形式為ANSI格式,用於設置這個動畫像素(大小),幀數,閃爍次數,文件夾名稱等; 其內部個是大概為 320 480 30 p 1 0 part0 p 0 10 part1 320 480 30--這里的320代表圖片的像素(大小)寬度,480代表圖片的像素(大小)高度,30代表幀數,就是每秒播放的圖片數。 p 1 0 part0 --這里的p代表標志符,1代表循環次數為1次,0代表階段間隔時間為0,part0代表對應的文件夾名 p 0 10 part1--這里的p代表標志符,0代表循環次數為0次,10代表階段間隔時間為10,part1代表對應的文件名; Part0和Part1內部的圖片必須是PNG格式的。 樓主所說的會不會停在30不動,這個不會,到30之後手機就會開機。這也是許多人覺著開機過慢,會對手機刷開機動畫。

10. android怎麼停止一個旋轉動畫

view.clearAnmation

熱點內容
qq改密碼怎麼改手機 發布:2024-04-19 11:39:17 瀏覽:968
電腦上如何看wifi密碼 發布:2024-04-19 11:34:14 瀏覽:415
java性能測試腳本 發布:2024-04-19 11:25:24 瀏覽:980
存儲成本與性能 發布:2024-04-19 11:16:18 瀏覽:168
linux根文件系統製作 發布:2024-04-19 11:16:12 瀏覽:746
光遇夏日活動什麼時候安卓上線 發布:2024-04-19 11:08:15 瀏覽:854
Java開羅 發布:2024-04-19 10:50:55 瀏覽:959
linux音頻驅動 發布:2024-04-19 10:50:04 瀏覽:715
資料庫的表怎麼看 發布:2024-04-19 10:43:52 瀏覽:563
空調壓縮機不響 發布:2024-04-19 10:42:22 瀏覽:52