補間動畫(Tween Animation)
Alpha動畫(透明度動畫)
屬性
//透明度范圍0.0-1.0
android:fromAlpha="0.1"
android:toAlpha="1.0"
//動畫播放持續(xù)時間1000毫秒
android:duration="1000"
scale動畫(縮放動畫)
屬性
//縮放比例
android:fromXScale="0.5"
android:toXScale="1.0"
android:fromYScale="0.5"
android:toYScale="1.0"
//縮放點坐標
android:pivotX="50%"
android:pivotY="50%"
trans動畫(平移動畫)
屬性
//平移距離(像素為單位)
android:fromXDelta="0"
android:toXDelta="100"
android:fromYDelta="0"
android:toYDelta="100"
//停留在最后一幀
android:fillAfter="true"
rotate動畫(旋轉(zhuǎn)動畫)
屬性
//旋轉(zhuǎn)角度
android:fromDegrees="0"
android:toDegrees="360"
//旋轉(zhuǎn)點坐標(動畫的中心點)
android:pivotX="50%"
android:pivotY="50%"
組合動畫
屬性
<alpha p=""
android:toAlpha="1.0"
android:duration="2000"/>
<scale< p="">
android:startOffset="2000"
android:fromXScale="1"
android:toXScale="0.5"
android:fromYScale="1"
android:toYScale="0.5"
android:duration="2000"/>
注意:動畫除了可以作用于ImageView控件,還可以作用于Activity組件。
//1.進來的activity的動畫
//2.出去的activity的動畫
overridePendingTransition(R.anim.ani_alpha, R.anim.ani_trans);
逐幀幀動畫:由多張圖片組成,每一個幀播放一張圖片
自定義動畫:SurfaceView
自定義動畫可以運行在子線程中,能夠保證動畫效果的流暢性。
通常android游戲開發(fā)都是基于SurfaceView的。且該類自帶雙緩沖機制,能保證畫面的流暢。
Holder類介紹
添加回調(diào)方法
Holder holder = this.getHolder();
holder.addCallBack(this);
獲取畫布對象
Canvas canvas = holder.lockCanvas();
paint(canvas);
logic();
holder.unlockCanvasAndPost(canvas);
裁剪畫布
//保存畫布
canvas.save();
//設(shè)置裁剪區(qū)域
canvas.clip(left, top, right, bottom);
//在已經(jīng)被裁剪的區(qū)域上繪制圖片
canvas.drawBitmap(bitmap, 10, 10, paint);
//恢復(fù)畫布
canvas.restore();
封裝動畫類