日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android动画文档,Android 动画系统汇总

發布時間:2024/9/27 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android动画文档,Android 动画系统汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android動畫系統的種類:

1. 屬性動畫 (Property Animation)

2. 補間動畫 (Tween Animation)

3. 幀動畫 ? ? (Frame Animation)

4. Drawable

屬性動畫(Property Animation):

可以改變控件對象屬性的對象,譬如控件的位置,透明度,旋轉等。

包含兩個基本的Animator:

1.ValueAnimator : 提供一個動畫時序引擎,用來計算動畫時序內,動畫的值。使用方式:

private void valueAnimatorTest(final View view) {

ValueAnimator anim = new ValueAnimator(); //創建ValueAnimator

anim.setDuration(2000);? // 設置動畫時常

anim.setObjectValues(new My()); //設置自定義初始值

anim.setEvaluator(new TypeEvaluator() {

@Override

public My evaluate(float fraction, My startValue, My endValue) {

System.out.println("fraction = " + fraction);

// fraction:動畫執行時間片段

My my = new My();? // My是一個實體類,可以自定義View的各個屬性值

return my;

}

});

anim.addUpdateListener(new AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator valueAnimator) {

My value = (My)valueAnimator.getAnimatedValue(); // 得到當前動畫片段的計算的自定義值,用來改變控件的屬性

}

});

anim.start();

}

2. ObjectAnimator:是ValueAnimator的子類,這里對屬性進行了一層邏輯實現,使用者可以直接通過動畫改變控件屬性。translationX、translationY ? ? ? ? ? ?控制View相對于父布局平移距離

rotation、rotationX、rotationY ? ? 控制旋轉

scaleX、scaleY ? ? ? ? ? ? ? ? ? ? ? ? ? ?控制X 、Y軸方向的縮放

pivotX、pivotY ? ? ? ? ? ? ? ? ? ? ? ? ? ? 縮放和旋轉的支點,默認為View的中心

alpha ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?透明度(0~1)

x、y ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在父控件中的位置(注意和translationX、translationY的區分)使用方式:

1. 控制單個屬性動畫

ObjectAnimator anim = ObjectAnimator.ofFloat(view, "scaleX", 1.0F,? 0.0F).setDuration(500);

anim.start();

2. 控制多個屬性動畫

ObjectAnimator anim = ObjectAnimator.ofFloat(view, "anywords", 1.0F,? 0.0F).setDuration(500);

anim.addUpdateListener(new AnimatorUpdateListener(){

@Override

public void onAnimationUpdate(ValueAnimator animation){

float cVal = (Float) animation.getAnimatedValue();

view.setAlpha(cVal);

view.setScaleX(cVal);

view.setScaleY(cVal);

}

}

anim.start();

補間動畫 (Tween Animation)

比較簡單,與屬性動畫相比,只能改變控件的顯示狀態,不能實際改變控件屬性值,主要有四中:

1. ScaleAnimation

2. RotateAnimation

3. AlphaAnimation

4. TranslateAnimation

補間動畫相對簡單,具體實現方式可參考其構造方法即可。

幀動畫? ? (Frame Animation)

顧名思義,就是與電影的播放原理一樣,逐幀顯示圖片達到動畫的效果,實現方式:

1. 在res目錄下建立 drawable 文件夾

2. 在drawable文件夾目錄下創建? frame.xml 文件

3. frame.xml文件格式

4. 應用在ImageView中

....

android:src = "@drawable/frame"

/>

5.? 代碼啟動動畫AnimationDrawable animationDrawable = (AnimationDrawable) view.getDrawable();

animationDrawable.start();

總結

以上是生活随笔為你收集整理的android动画文档,Android 动画系统汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。