導航:首頁 > 操作系統 > android動畫漸入

android動畫漸入

發布時間:2022-05-24 05:33:55

⑴ 如何高效學習android動畫

Android動畫初步
動畫(Animation)在我們日常的Android開發工作當中使用得較為頻繁,尤其對於Android游戲這個動畫的集合體,掌握動畫開發的重要性毋庸置疑。同樣的,在Android應用開發中我們也經常使用動畫效果來提升APP用戶體驗,比如應用中的圖片的旋轉,頁面和頁面之間的淡入淡出、左右漸入漸出切換效果等等。
動畫的分類
Android FrameWork向開發人員提供了豐富的API用於實現各種各樣的動畫效果,而若要對動畫分類,一般可將Android動畫分為以下兩類的動畫系統:
View Animation
View Animation動畫系統又可以分類成Tween Animation 和Frame Animation:
Tween Animation
Tween Animation是Android系統比較老的一種動畫系統,它的特點是通過對場景里的對象不斷做圖像變換(漸變、平移、縮放、旋轉)產生動畫效果,且這種動畫只適用於View對象。
Frame Animation
Frame Animation也是常用到的動畫,它的原理比較簡單,就是將一系列准備好的圖片按照順序播放,形成動畫效果。
Property Animation
Property Animation(屬性動畫)是在Android3.0(API 11)之後引入的一種動畫系統,該動畫提供了比View Animation更加豐富、強大和靈活的功能,Android官方推薦開發人員使用該動畫系統來實現動畫。Property Animation的特點是動態地改變對象的屬性從而達到動畫效果。該動畫實現使用於包括View在內的任何對象。

Tween Animation
了解到Tween Animation是Android中比較老的一種動畫系統,且其只能實現對View對象動畫設置,不過其雖然沒有Property Aniamtion功能那麼強大和靈活,但是使用Tween Animation依然能完成日常大部分的開發需求。靈活地掌握Tween Animation的使用方法,十分有必要。那Tween Animation實現View的動畫,一般分為以下幾種效果:
Alpha:漸變透明動畫效果;
Scale:漸變尺寸伸縮動畫效果;
Translate:位置位移動畫效果;
Rotate:位置旋轉動畫效果。
接下來通過實例來一一學習如何實現以上幾種動畫效果,實現Tween Animation分為xml實現和代碼實現,下面會分別使用這兩種方式來實現上面的的幾種動畫效果。首先使用xml方式來實現View的Alpha漸變透明動畫效果,在項目目錄結構中創建res/anim文件夾,然後在文件夾中創建view_animation_alpha.xml文件,文件中的代碼如下:
[html] view plain


<!--
* android:interpolator:修飾動畫效果,定義動畫的變化率,可以使存在的動畫效果accelerated(加速),
* decelerated(減速),repeated(重復),bounced(彈跳)等。
* android:fromAlpha="0.0":設置動畫開始時控制項的透明度,0.0為透明,控制項不顯示,1.0為不透明,控制項全部顯示
* android:toAlpha="1.0":設置動畫結束時的控制項的透明度
* android:ration="2500":設置每一次動畫持續的時間值
* android:repeatCount="5":設置動畫重復的次數
* android:repeatMode="reverse":設置動畫重復的模式,reverse為0.0 -> 1.0 -> 0.0,動畫反復執行;
* restart為0.0 -> 1.0, 0.0 -> 1.0,動畫每次都重新開始執行
-->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:ration="2500"
android:repeatCount="5"
android:repeatMode="reverse"
/>
xml文件中的屬性在代碼中都有詳細的解釋,這里就不重復說明了。定義完XML文件後,然後在代碼中使用AnimationUtils類調用loadAnimation(context, id)方法來載入xml文件,具體代碼如下:
[java] view plain


/**
* xml文件載入圖片漸變(Alpha)動畫
*/
Animation mAnimation = AnimationUtils.loadAnimation(this, R.anim.view_animation_alpha);
上面是使用xml實現Alpha的動畫效果,下面我們來看看如何在代碼中實現Alpha的動畫,很簡單,只需要實例化一個AlphaAnimation對象,然後傳遞相關參數就行,具體代碼如下:
[java] view plain


/**
* 代碼創建圖片漸變(Alpha)動畫
* 實例化AlphaAnimation對象:
* mAnimation = new AlphaAnimation(fromAlpha, toAlpha);
* fromAlpha:設置動畫開始時控制項的透明度,0.0為透明,控制項不顯示,1.0為不透明,控制項全部顯示
* toAlpha:設置動畫結束時的控制項的透明度
*/

Animation mAnimation = new AlphaAnimation(0.0f, 1.0f);
分別使用xml和代碼實現Alpha動畫後,最後為一個ImageView對象設置創建好的Alpha動畫,ImageView對象只需要調用startAnimation(Animation animation)方法,將剛剛創建好的alpha動畫對象作為參數添加傳進去搞定,具體代碼如下:
[java] view plain


ImageView mImageView = (ImageView)findViewById(R.id.view_animation_imageview);
//設置控制項開始執行動畫
mImageView.startAnimation(mAnimation);

⑵ Android 中的動畫有哪幾類,它們的特點和區別是什麼

Android包含三種動畫:

ViewAnimation、 Drawable Animation、Property Animation。

ViewAnimation(Tween Animation補間動畫):


動畫的對象除了傳統的View對象,還可以是Object對象,動畫之後,Object對象的屬性值被實實在在的改變了。Property animation能夠通過改變View對象的實際屬性來實現View動畫。任何時候View屬性的改變,View能自動調用invalidate()來刷新。

⑶ Android中屬性動畫和補間動畫的區別

Android的SDK提供了三種類型的動畫,分別是補間動畫、逐幀動畫和插值屬性動畫。下面先介紹第一種動畫效果-補間動畫。 補間動畫可以應用於View,讓開發者可以定義一些關於大小、位置、旋轉和透明度的改變效果,達到讓View的內容動起來的效果。 補間動畫是使用Animation類創建的,它有4個直接子類,分別實現不同的動畫效果,分別為: AlphaAnimation 漸變透明度動畫效果,即淡入淡出效果 ScaleAnimation 漸變尺寸伸縮動畫效果,即縮放效果 TranslateAnimation 畫面轉換位置移動動畫效果,移動效果 RotateAnimation 畫面轉移旋轉動畫效果,即旋轉效果 要使用補間動畫的效果,有兩種方法,第一種是在XML文件中設置動畫效果;第二種是在Java代碼中設置。下面分別介紹這兩種方法: 1.在XML文件中設置方式: 在Android項目的res目錄下新建anim文件夾,然後在anim文件夾下新建firstanim.xml,添加動畫效果的配置代碼,示例代碼如下: [html] android:fromAlpha="0.1" android:toAlpha="1.0" android:ration="3000" /> android:interpolator= "@android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:ration="700" /> android:fromXDelta="30" android:toXDelta="-80" android:fromYDelta="30" android:toYDelta="300" android:ration="2000" /> android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:ration="3000" /> android:fromAlpha="0.1" android:toAlpha="1.0" android:ration="3000" /> android:interpolator= "@android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:ration="700" /> android:fromXDelta="30" android:toXDelta="-80" android:fromYDelta="30" android:toYDelta="300" android:ration="2000" /> android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:ration="3000" /> 在Activity中的onCreate()方法中,獲取在XML中配置的動畫效果,代碼如下: [java] Animation animation= AnimationUtils.loadAnimation(this,R.anim.firstanim); Animation animation= AnimationUtils.loadAnimation(this,R.anim.firstanim); 如果這個動畫效果使用在一個ImageView上,可以參考如下代碼: [java] imageView.startAnimation(animation); imageView.startAnimation(animation);2.在Java代碼中設置方式: 以AlphaAnimation為例, [java] //首先聲明Animation的一個對象 private Animation alpha; //在Activity的onCreate()方法中實例化這個對象 alpha=new AlphaAnimation(0.1f, 1.0f); //設置動畫持續時間為3秒 alpha.setDuration(3000); //首先聲明Animation的一個對象 private Animation alpha; //在Activity的onCreate()方法中實例化這個對象 alpha=new AlphaAnimation(0.1f, 1.0f); //設置動畫持續時間為3秒 alpha.setDuration(3000); 如果這個動畫效果使用在一個ImageView上,可以參考如下代碼: [java] imageView.startAnimation(alpha); imageView.startAnimation(alpha);

⑷ android中的動畫有哪幾類,它們的特點和區別是什麼

android動畫有兩類:
一種是tweened animation(漸變動畫)
一種是frame by frame(逐幀動畫)
特點:
漸變動畫是通過改變view的大小、旋轉的角度、透明度、位置來產生動畫,可以控制動畫的播放快慢以及加速度。
逐幀動畫是用一組圖片輪流繪制,產生動畫的感覺。類似於gif圖片。
區別:
漸變動畫的所有操作是通過矩陣變換對同一個物體(繪制的一個view或者圖片)進行操作產生動畫。
而逐幀動畫是多個物體(多張圖片)進行繪制,可以說這多張圖片是不相關的(從播放的角度來看只能說是內容相關)。

⑸ Android 中的動畫有哪幾類,它們的特點和區別是什麼

1.View Animation(Tween Animation):補間動畫,給出兩個關鍵幀,通過一些演算法將給定屬性值在給定的時間內在兩個關鍵幀間漸變。
View animation只能應用於View對象,而且只支持一部分屬性,這種實現方式可以使視圖組件移動、放大、縮小以及產生透明度的變化.

2.Frame動畫,傳統的動畫方法,通過順序的播放排列好的圖片來實現,類似電影補間動畫和幀動畫。
補間動畫和Frame動畫的定義:
所謂補間動畫,是指通過指定View的初末狀態和變化時間、方式,對View的內容完成一系列的圖形變換來實現動畫效果。主要包括四種效果:Alpha、Scale、Translate和Rotate。
幀動畫就是Frame動畫,即指定每一幀的內容和停留時間,然後播放動畫。。

3.屬性動畫
只是一個動畫效果,組件其實還在原來的位置上,xy沒有改變
###位移:
第一個參數target指定要顯示動畫的組件
第二個參數propertyName指定要改變組件的哪個屬性
第三個參數values是可變參數,就是賦予屬性的新的值
傳入0,代表x起始坐標:當前x + 0
傳入100,代表x終點坐標:當前x + 100
//具有get、set方法的成員變數就稱為屬性
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "translationX", 0, 100) ;

4.四種基本的動畫 ,透明/伸縮/移動/旋轉。

(1)XML中

alpha 漸變透明度動畫效果

scale 漸變尺寸伸縮動畫效果
translate畫面轉換位置移動動畫效果
rotate畫面轉移旋轉動畫效果
(2) JavaCode中

AlphaAnimation漸變透明度動畫效果
ScaleAnimation漸變尺寸伸縮動畫效果
TranslateAnimation畫面轉換位置移動動畫效果
RotateAnimation畫面轉移旋轉動畫效果
(3)Android動畫模式
Animation主要有兩種動畫模式:
一種是tweened animation(漸變動畫)

一種是frame by frame(畫面轉換動畫)

Tween動畫,這種實現方式可以使視圖組件移動、放大、縮小以及產生透明度的變化;
Frame動畫,傳統的動畫方法,通過順序的播放排列好的圖片來實現,類似電影。

⑹ Android里怎麼實現TextView裡面的文字一個一個逐漸顯示出來的動畫效果

很多方式,可以讓TextView每隔多少時間重新setText一下。animation是針對View,不針對View上的文字,如果你讓一個字顯示在一個TextView上面,就可以用animation。

⑺ android 怎麼在輪播時實現多種動畫效果,如第一張到第二張漸變,第二張到第三張旋轉

Android系統自帶的一個多頁面管理控制項,它可以實現子界面的自動切換:

首先 需要為ViewFlipper加入View

(1) 靜態導入:在layout布局文件中直接導入

(2) 動態導入:addView()方法

ViewPlipper常用方法:

setInAnimation:設置View進入屏幕時候使用的動畫

setOutAnimation:設置View退出屏幕時候使用的動畫

showNext:調用該函數來顯示ViewFlipper裡面的下一個View

showPrevious:調用該函數來顯示ViewFlipper裡面的上一個View

setFlipInterval:設置View之間切換的時間間隔

startFlipping使用上面設置的時間間隔來開始切換所有的View,切換會循環進行

stopFlipping:停止View切換

講了這么多,那麼我們今天要實現的是什麼呢?

(1) 利用ViewFlipper實現圖片的輪播

(2) 支持手勢滑動的ViewFlipper

我們需要先准備幾張圖片:把圖片放進drawable中

創建兩個動畫:在res下面新建一個folder裡面新建兩個xml:

⑻ android中的動畫有哪幾類

在Android3.0(即API Level11)以前,Android僅支持2種動畫:分別是Frame Animation(逐幀動畫)和Tween Animation(補間動畫),在3.0之後Android支持了一種新的動畫系統,稱為:Property Animation(屬性動畫)。

一、Frame Animation:(逐幀動畫)

這個很好理解,一幀幀的播放圖片,利用人眼視覺殘留原理,給我們帶來動畫的感覺。它的原理的GIF圖片、電影播放原理一樣。

1.定義逐幀動畫比較簡單,只要在中使用子元素定義所有播放幀即可。

(1) android:oneshot 設置是否僅播放一次

(2) android:drawable 設置每一幀圖片

(3) android:ration 設置圖片間切換間隔

2.習慣上把AnimationDrawable設置為ImageView的背景

android:background=@anim/frame_anim

然後我們就可以在java代碼中獲取AnimationDrawable對象了

AnimationDrawable anim = (AnimationDrawable)imageView.getBackground();

(需要注意的是,AnimationDrawable默認是不播放的,調用其start()方法開始播放,stop停止播放)

3.上面的動畫文件是通過xml文件來配置的,如果你喜歡,也可以通過在java代碼中創建AnimationDrawable對象,然後通過addFrame(Drawable frame, int ration)方法向動畫添加幀,然後start()。。。

二、Tween Animation:(補間動畫)

補間動畫就是我們只需指定開始、結束的「關鍵幀「,而變化中的其他幀由系統來計算,不必自己一幀幀的去定義。

1. Android使用Animation代表抽象動畫,包括四種子類:AlphaAnimation(透明度動畫)、ScaleAnimation(縮放動畫)、TranslateAnimation(位移動畫)、RotateAnimation(透明度動畫)。Android裡面允許在java中創建Animation類對象,但是一般都會採用動畫資源文件來定義動畫,把界面與邏輯分離

<set android:interpolator="@android:anim/linear_interpolator" xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定義透明度的變換 -->

<!-- 定義旋轉變換 -->
<rotate android:ration="3000/" android:fromdegrees="0" android:pivotx="50%" android:pivoty="50%" android:todegrees="1800">
</rotate></alpha></set>

(一個set可以同時定義多個動畫,一起執行。)

2. android:interpolator=@android:anim/linear_interpolator控制動畫期間需要補入多少幀,簡單來說就是控制動畫速度,有些地方翻譯為「插值「。Interpolator有幾種實現類:LinearInterpolator、AccelerateInterpolator、、CycleInterpolator、DecelerateInterpolator,具體使用可以參考官方API Demo。

3. 定義好anim文件後,我們可以通過AnimationUtils工具類來載入它們,載入成功後返回一個Animation。然後就可以通過View的startAnimation(anim)開始執行動畫了。

Animation anim = AnimationUtils.loadAnimation(this, R.anim.anim);
//設置動畫結束後保留結束狀態
anim.setFillAfter(true);
//設置插值效果
anim.setInterpolator(interpolator);
//對view執行動畫
view. startAnimation(anim);

三、Property Animation:(屬性動畫)

屬性動畫,這個是在Android 3.0中才引進的,它可以直接更改我們對象的屬性。在上面提到的Tween Animation中,只是更改View的繪畫效果而View的真實屬性是不改變的。假設你用Tween動畫將一個Button從左邊移到右邊,無論你怎麼點擊移動後的Button,他都沒有反應。而當你點擊移動前Button的位置時才有反應,因為Button的位置屬性木有改變。而Property Animation則可以直接改變View對象的屬性值,這樣可以讓我們少做一些處理工作,提高效率與代碼的可讀性。

(1)ValueAnimator:包含Property Animation動畫的所有核心功能,如動畫時間,開始、結束屬性值,相應時間屬性值計算方法等。應用ValueAnimator有兩個步驟

1計算屬性值。

2根據屬性值執行相應的動作,如改變對象的某一屬性。

我們的主是第二步,需要實現ValueAnimator.onUpdateListener介面,這個介面只有一個函數onAnimationUpdate(),將要改變View對象屬性的事情在該介面中do。

animation.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
//do your work
}
});

(2)ObjectAnimator:繼承自ValueAnimator,要指定一個對象及該對象的一個屬性,當屬性值計算完成時自動設置為該對象的相應屬性,即完成了Property Animation的全部兩步操作。實際應用中一般都會用ObjectAnimator來改變某一對象的某一屬性,但用ObjectAnimator有一定的限制,要想使用ObjectAnimator,應該滿足以下條件:

1.對象應該有一個setter函數:set(駝峰命名法)

2如下面的例子,像ofFloat之類的工場方法,第一個參數為對象名,第二個為屬性名,後面的參數為可變參數,如果values…參數只設置了一個值的話,那麼會假定為目的值,屬性值的變化范圍為當前值到目的值,為了獲得當前值,該對象要有相應屬性的getter方法:get

3如果有getter方法,其應返回值類型應與相應的setter方法的參數類型一致。

ObjectAnimator oa=ObjectAnimator.ofFloat(tv, alpha, 0f, 1f);
oa.setDuration(3000);
oa.start();

如果不滿足上面的條件,我們只能乖乖的使用ValueAnimator來創建動畫。

(3)Animator.AnimatorListener:可以為Animator設置動畫監聽,需要重寫下面四個方法。

onAnimationStart()
onAnimationEnd()
onAnimationRepeat()
onAnimationCancel()

這里我們也可以實現AnimatorListenerAdapter,他的好處是可以只用定義想監聽的事件而不用實現每個函數卻只定義一空函數體。如下:

anim.addListener(new AnimatorListenerAdapter() {
public void on AnimationEnd(Animator animation){
//do your work
}
});

(4)AnimationSet:可以組合多個動畫共同工作

AnimatorSet bouncer = new AnimatorSet();
bouncer.play(anim1).before(anim2);
bouncer.play(anim2).with(anim3);
bouncer.play(anim2).with(anim4)
bouncer.play(anim5).after(amin2);
animatorSet.start();

上面的代碼意思是: 首先播放anim1;同時播放anim2,anim3,anim4;最後播放anim5。

(5)TimeInterplator:與Tween中的interpolator類似。有以下幾種

AccelerateInterpolator 加速,開始時慢中間加速

DecelerateInterpolator 減速,開始時快然後減速

先加速後減速,開始結束時慢,中間加速

AnticipateInterpolator 反向 ,先向相反方向改變一段再加速播放

反向加回彈,先向相反方向改變,再加速播放,會超出目的值然後緩慢移動至目的值

BounceInterpolator 跳躍,快到目的值時值會跳躍,如目的值100,後面的值可能依次為85,77,70,80,90,100

CycleIinterpolator 循環,動畫循環一定次數,值的改變為一正弦函數:Math.sin(2 * mCycles * Math.PI * input)

LinearInterpolator 線性,線性均勻改變

OvershottInterpolator 回彈,最後超出目的值然後緩慢改變到目的值

TimeInterpolator 一個介面,允許你自定義interpolator,以上幾個都是實現了這個介面

(6)Keyframes:可以讓我們定義除了開始和結束以外的關鍵幀。KeyFrame是抽象類,要通過ofInt(),ofFloat(),ofObject()獲得適當的KeyFrame,然後通過PropertyValuesHolder.ofKeyframe獲得PropertyValuesHolder對象,如下:

Keyframe kf0 = Keyframe.ofInt(0, 400);
Keyframe kf1 = Keyframe.ofInt(0.25f, 200);
Keyframe kf2 = Keyframe.ofInt(0.5f, 400);
Keyframe kf4 = Keyframe.ofInt(0.75f, 100);
Keyframe kf3 = Keyframe.ofInt(1f, 500);
PropertyValuesHolder pvhRotation = PropertyValuesHolder.ofKeyframe(width, kf0, kf1, kf2, kf4, kf3);
ObjectAnimator rotationAnim = ObjectAnimator.ofPropertyValuesHolder(btn, pvhRotation);
上述代碼的意思是:設置btn對象的width屬性值使其:開始時 Width=400,動畫開始1/4時 Width=200,動畫開始1/2時 Width=400,動畫開始3/4時 Width=100,動畫結束時 Width=500。

(7)ViewPropertyAnimator:對一個View同時改變多種屬性,非常推薦用這種。該類對多屬性動畫進行了優化,會合並一些invalidate()來減少刷新視圖。而且使用起來非常簡便,但是要求API LEVEL 12,即Android 3.1以上。僅需要一行代碼即可完成水平、豎直移動

myView.animate().translationX(50f). translationY(100f);

(8)常需要改變的一些屬性:

translationX,translationY: View相對於原始位置的偏移量

rotation,rotationX,rotationY: 旋轉,rotation用於2D旋轉角度,3D中用到後兩個

scaleX,scaleY: 縮放比

x,y: View的最終坐標,是View的left,top位置加上translationX,translationY

alpha: 透明度

四、最後自己總結一下這三種動畫的優缺點:

(1)Frame Animation(幀動畫)主要用於播放一幀幀准備好的圖片,類似GIF圖片,優點是使用簡單方便、缺點是需要事先准備好每一幀圖片;

(2)Tween Animation(補間動畫)僅需定義開始與結束的關鍵幀,而變化的中間幀由系統補上,優點是不用准備每一幀,缺點是只改變了對象繪制,而沒有改變View本身屬性。因此如果改變了按鈕的位置,還是需要點擊原來按鈕所在位置才有效。

(3)Property Animation(屬性動畫)是3.0後推出的動畫,優點是使用簡單、降低實現的復雜度、直接更改對象的屬性、幾乎可適用於任何對象而僅非View類,缺點是需要3.0以上的API支持,限制較大!但是目前國外有個開源庫,可以提供低版本支持!

⑼ 如何設定Android Activity間切換時的動畫

轉載本代碼示例介紹如何設定Activity間切換時的動畫效果。本示例使用Eclipse的Android工程編譯測試。

1. 定義清單文件(AndroidManifest.xml)

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http。//schemas。android。com/apk/res/android"

package="my.android.test"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".Animation"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity android:name=".Controls1"

android:label="@string/app_name"

android:theme="@android:style/Theme.Light">

</activity>

</application>

<uses-sdk android:minSdkVersion="9" />

</manifest>

2. 定義字元串資源(res/values/strings.xml)

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World,Aniation!</string>

<string name="app_name">Animation</string>

<string name="activity_animation_msg">Press a button to launch an activity with a custom animation.</string>

<string name="activity_animation_fade">Fade in</string>

<string name="activity_animation_zoom">Zoom in</string>

<string name="controls_1_save">Save</string>

<string name="controls_1_checkbox_1">Checkbox 1</string>

<string name="controls_1_checkbox_2">Checkbox 2</string>

<string name="controls_1_radiobutton_1">RadioButton 1</string>

<string name="controls_1_radiobutton_2">RadioButton 2</string>

<string name="controls_1_star">Star</string>

<string name="textColorPrimary">textColorPrimary</string>

<string name="textColorSecondary">textColorSecondary</string>

<string name="textColorTertiary">textColorTertiary</string>

<string name="listSeparatorTextViewStyle">listSeparatorTextViewStyle</string>

</resources>

3. 定義漸入動畫資源定義(res/anim/fade.xml、res/anim/hold.xml)

res/anim/fade.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 聲明動畫對象的透明度,本例使用漸入的方式,顯示Activity

屬性說明參照zoom_exit.xml -->

<alpha xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/accelerate_interpolator"

android:fromAlpha="0.0" android:toAlpha="1.0"

android:ration="@android:integer/config_longAnimTime" />

res/anim/hold.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 聲明動畫對象的水平和垂直移動量,本例使用水平移動方式,

android:interpolator:指定在設定時間內動畫移動過程中插補器,用於改善動畫的平滑度

android:fromXDelta:指定動畫開始時,動畫對象的水平位置,可以用像素智設定,也可以用

相對父窗口寬度的百分比來設定。

android:toXDelta:指定動畫結束時,動畫對象的水平位置,可以用像素值來設定,也可以用

相對父窗口寬度的百分比來設定。

android:ration:指定動畫的播放時間

-->

<translate xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/accelerate_interpolator"

android:fromXDelta="0" android:toXDelta="0"

android:ration="@android:integer/config_longAnimTime" />

4. 定義縮放動畫資源定義(res/anim/zoom_enter.xml、res/anim/zoom_exit.xml)

res/anim/zoom_enter.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 聲明動畫對象進入屏幕時的動畫資源

android:interpolator:指定在設定時間內動畫移動過程中插補器,用於改善動畫的平滑度

-->

<set xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/decelerate_interpolator">

<!-- 聲明動畫對象進入屏幕時的縮放動畫,

屬性說明參照zoom_exit.xml -->

<scale android:fromXScale="2.0" android:toXScale="1.0"

android:fromYScale="2.0" android:toYScale="1.0"

android:pivotX="50%p" android:pivotY="50%p"

android:ration="@android:integer/config_mediumAnimTime" />

</set>

res/anim/zoom_exit.xml文件

<?xml version="1.0" encoding="utf-8"?>

<!-- 聲明Activity退出時使用的動畫資源

android:interpolator:指定在設定時間內動畫移動過程中插補器,用於改善動畫的平滑度

android:zAdjustment:允許再動畫播放期間,調整播放內容在Z軸方向的順序,normal(0):真正播放的

動畫內容保持當前的Z軸順序,top(1):在動畫播放期間,強制把當前播放的內容放到其他內容的上面;

bottom(-1):在動畫播放期間,強制把當前播放的內容放到其他內容之下。

-->

<set xmlns:android="http。//schemas。android。com/apk/res/android"

android:interpolator="@android:anim/decelerate_interpolator"

android:zAdjustment="top">

<!-- 指定動畫對象的縮放因子和播放時間

android:fromXScale和android:toXScale指定X軸的動畫開始和結束時的縮放因子

android:fromYScale和android:toYScale指定Y軸的動畫開始和結束時的縮放因子

android:pivoteX:在動畫對象被縮放時,X軸要保留的原始尺寸的百分比。

android:pivoteY:在動畫對象被縮放時,Y軸要保留的原始尺寸的百分比。

android:ration指定動畫的播放時間

-->

<scale android:fromXScale="1.0" android:toXScale=".5"

android:fromYScale="1.0" android:toYScale=".5"

android:pivotX="50%p" android:pivotY="50%p"

android:ration="@android:integer/config_mediumAnimTime" />

<!-- 定義動畫對象的透明度,該動畫在動畫縮放之後播放。

android:fromAlpha:指定動畫初始時的透明度

android:toAlpha:指定動畫結束時的透明度

android:ratiion:指定動畫透明處理的執行時間

-->

<alpha android:fromAlpha="1.0" android:toAlpha="0"

android:ration="@android:integer/config_mediumAnimTime"/>

</set>

⑽ android 怎麼做淡入淡出效果

淡入enteralpha.xml為
<?xmlversion="1.0"encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<!--動畫效果從看不見到可以看見,也就是0到1,變幻時間為5000毫秒-->
<alpha
android:fromAlpha="0"
android:toAlpha="1"
android:ration="5000"
/>
</set>
淡出exitalpha.xml為
<?xmlversion="1.0"encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<!--退出動畫效果從可以看見到不可以看見,也就是1.0到0,變幻時間為5000毫秒-->
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:ration="5000"
/>
</set>

閱讀全文

與android動畫漸入相關的資料

熱點內容
注冊伺服器地址指什麼 瀏覽:431
文本命令行 瀏覽:95
撲克牌睡眠解壓 瀏覽:190
rc4演算法流程圖 瀏覽:159
胡蘿卜解壓方法 瀏覽:35
掃描pdf格式軟體 瀏覽:876
程序員在銀行開賬戶 瀏覽:516
android資料庫下載 瀏覽:749
中午伺服器崩潰怎麼辦 瀏覽:425
產品經理和程序員待遇 瀏覽:442
解憂程序員免費閱讀 瀏覽:109
錄像免壓縮 瀏覽:508
總結所學過的簡便演算法 瀏覽:362
南昌哪些地方需要程序員 瀏覽:761
三台伺服器配置IP地址 瀏覽:175
如何用命令方塊連續對話 瀏覽:280
win7linux共享文件夾 瀏覽:304
命令符打開本地服務 瀏覽:601
android應用程序源碼 瀏覽:705
安卓開發工程師簡歷怎麼寫 瀏覽:63