溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中Animation資源有哪些

發(fā)布時間:2021-12-18 16:49:56 來源:億速云 閱讀:162 作者:iii 欄目:移動開發(fā)

本篇內(nèi)容介紹了“Android中Animation資源有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

SDK中的示例程序App->Activity->Animation演示了切換Activity時的動畫效果。提供了兩種動畫效果,一種是Fade In漸變,后出現(xiàn)的Activity由淺入深逐漸顯示;另一種是Zoom放大效果,后出現(xiàn)的Activity由小及大逐漸顯示。

Android中Animation資源有哪些

Android 中 Animation 資源可以分為兩種:

Tween Animation 對單個圖像進行各種變換(縮放,平移,旋轉(zhuǎn)等)來實現(xiàn)動畫。

Frame Animation 由一組圖像順序顯示顯示動畫。

Animation 中使用的是Tween Animation,使用的資源為R.anim.fade、R.anim.hold、R.anim.zoom_enter、R.anim.zoom_exit。

其中R.anim.fade、R.anim.zoom_enter分別為Fade In 和 Zoom動畫資源。其定義為:

fade.xml

<alpha xmlns:android=”http://schemas.android.com/apk/res/android”    android:interpolator=”@android:anim/accelerate_interpolator”    android:fromAlpha=”0.0&Prime; android:toAlpha=”1.0&Prime;    android:duration=”@android:integer/config_longAnimTime” />

zoom_center.xml

<set xmlns:android=”http://schemas.android.com/apk/res/android”    android:interpolator=”@android:anim/decelerate_interpolator”>   <scale android:fromXScale=”2.0&Prime; android:toXScale=”1.0&Prime;     android:fromYScale=”2.0&Prime; android:toYScale=”1.0&Prime;     android:pivotX=”50%p” android:pivotY=”50%p”     android:duration=”@android:integer/config_mediumAnimTime” />   </set>

tween animation 資源定義的格式如下:

<?xml version=”1.0&Prime; encoding=”utf-8&Prime;?>    <set xmlns:android=”http://schemas.android.com/apk/res/android”     android:interpolator=”@[package:]anim/interpolator_resource”     android:shareInterpolator=[ ” true ” false “>    <alpha    android:fromAlpha=”float”     android:toAlpha=”float” />    <scale    android:fromXScale=”float”     android:toXScale=”float”     android:fromYScale=”float”     android:toYScale=”float”     android:pivotX=”float”     android:pivotY=”float” />    <translate    android:fromXDelta=”float”     android:toXDelta=”float”     android:fromYDelta=”float”     android:toYDelta=”float” />    <rotate    android:fromDegrees=”float”     android:toDegrees=”float”     android:pivotX=”float”     android:pivotY=”float” />    <set> &hellip;     </set>    </set>

<set> 為其它animation類型<alpha>,<scale>,<translate>和<rotate>或其它<set>的容器。

android:interpolator 為Interpolator資源ID,Interpolator定義了動畫的變化速率,動畫的各幀的顯示可以加速,減速,重復(fù)顯示。

android:shareInterpolator 如果想為<set>中的各個子動畫定義共享interpolator,shareInterpolator 則設(shè)為true。

<alpha> 定義Fade in 、Fade out 動畫,其對應(yīng)的Android類AlphaAnimation,參數(shù)由fromAlpha,toAlpha定義。

<scale>定義縮放動畫,其對應(yīng)的Android類為ScaleAnimation,參數(shù)由fromXScale、toXScale、 fromYScale、toYScale、pivotX、pivotY定義,pivotX、pivotY定義了縮放時的中心。

<translate>定義平移動畫,其對應(yīng)的Android類為TranslateAnimation,參數(shù)由fromXDelta、toXDelta、fromYDelta、toYDelta定義。

<rotate>定義選擇動畫,其對應(yīng)的Android類RotateAnimation,參數(shù)由fromDegrees、toDegrees、pivotX、pivotY, pivotX、pivotY定義選擇中心。

Animation中的Fade In和Zoom In按鈕的事件處理代碼:

private OnClickListener mFadeListener = new OnClickListener() {     public void onClick(View v) {     // Request the next activity transition (here starting a new one).     startActivity(new Intent(Animation.this, Controls1.class));     // Supply a custom animation.  This one will just fade the new     // activity on top.  Note that we need to also supply an animation     // (here just doing nothing for the same amount of time) for the     // old activity to prevent it from going away too soon.     overridePendingTransition(R.anim.fade, R.anim.hold);     }    };   private OnClickListener mZoomListener = new OnClickListener() {     public void onClick(View v) {     // Request the next activity transition (here starting a new one).     startActivity(new Intent(Animation.this, Controls1.class));     // This is a more complicated animation, involving transformations     // on both this (exit) and the new (enter) activity.  Note how for     // the duration of the animation we force the exiting activity     // to be Z-ordered on top (even though it really isn't) to achieve     // the effect we want.     overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);     }    };

從代碼可以看到Activity Animation到其它Activity Controls1  切換的動畫使用overridePendingTransition 來定義,函數(shù)overridePendingTransition(int  enterAnim, int exitAnim) 必須定義在StartActivity(Intent) 或是  Activity.finish()之后來定義兩個Activity切換時的動畫,enterAnim  為新Activity出現(xiàn)時動畫效果,exitAnim則定義了當前Activity退出時動畫效果。

“Android中Animation資源有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI