最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)動畫效果詳解

 更新時間:2015年07月24日 15:29:11   作者:掌緣生滅  
這篇文章主要介紹了Android實現(xiàn)動畫效果詳解,目前Android平臺提供了Tween動畫和Frame動畫,實現(xiàn)這兩類動畫有兩種方式:一種使用XML文件(文件放在res/anim),一種直接代碼搞定,需要的朋友可以參考下

目前Android平臺提供了兩類動畫一類是Tween動畫,第二類就是 Frame動畫,具體內(nèi)容介紹請看下文:

一類是Tween動畫,就是對場景里的對象不斷的進行圖像變化來產(chǎn)生動畫效果(旋轉、平移、放縮和漸變)。

第二類就是 Frame動畫,即順序的播放事先做好的圖像,與gif圖片原理類似。

實現(xiàn)動畫有兩種方式:一種使用XML文件(文件放在res/anim),一種直接代碼搞定

 1、透明度控制動畫效果alpha

<!--
透明度控制動畫效果alpha
 浮點型值:
 fromAlpha 動畫起始時透明度
 toAlpha 動畫結束時透明度
 說明:0.0 完全透明
 1.0 完全不透明
 以上值取0.0-1.0之間的 float數(shù)據(jù)類型的數(shù)字
duration 為動畫持續(xù)時間
長整型:
說明:時間以毫秒為單位
-->
<alpha
 android:duration="3000"
 android:fromAlpha="0.0"
 android:toAlpha="1.0" />

代碼方式:

復制代碼 代碼如下:

Animation animationAlpha = new AlphaAnimation(0.0f, 1.0f);
animationAlpha.setDuration(3000);
ivAnim.startAnimation(animationAlpha);
 

2、rotate旋轉動畫

<!--
rotate旋轉動畫效果

屬性:interpolator 指定一個動畫的插入器
有三種動畫插入器:
 accelerate_decelerate_interpolator 加速-減速 動畫插入器
 accelerate_interpolator 加速-動畫插入器
 decelerate_interpolator 減速-動畫插入器
 其他的屬于特定的動畫效果

浮點整型值:
 fromDegrees 為動畫起始時物件的角度
 toDegrees 為動畫起始時物件旋轉的角度 可以大于360度
說明:當角度為負數(shù)——表示逆時針旋轉
  當角度為正數(shù)——表示順時針旋轉
  (負數(shù)from——to正數(shù):順時針旋轉
  負數(shù)from——to負數(shù):逆時針旋轉
  正數(shù)from——to正數(shù):順時針旋轉)
  
pivotX 為動畫相對于物件的X坐標的開始位置
pivotY 為動畫相對于物件的Y坐標的開始位置
說明:以上兩個屬性值 從0%——100%中取值
 50%為物件的X或Y方向坐標上的中點位置
長整型類型:
duration 為動畫持續(xù)時間
說明:時間以毫秒為單位
 -->
<rotate
 android:duration="3000"
 android:fromDegrees="0"
 android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 android:pivotX="50%"
 android:pivotY="50%"
 android:toDegrees="+350" />

復制代碼 代碼如下:

Animation animationRotate = new RotateAnimation(0.0f, +350.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animationRotate.setDuration(3000);
ivAnim.startAnimation(animationRotate);

3、尺寸伸縮動畫效果 scale

<!--
尺寸伸縮動畫效果 scale
屬性:interpolator 指定一個動畫的插入器
  有三種動畫插入器:
  accelerate_decelerate_interpolator 加速-減速 動畫插入器
  accelerate_interpolator 加速-動畫插入器
  decelerate_interpolator 減速-動畫插入器
  其他的屬于特定的動畫效果
浮點型值:
 fromXScale 動畫起始時 X坐標上的伸縮尺寸
 toXScale 動畫結束時 X坐標上的伸縮尺寸
 fromYScale 動畫起始 Y時坐標上的伸縮尺寸
 toYScale 動畫結束時 Y坐標上的尺寸
 說明:以上四種屬性值
 0.0表示收縮到?jīng)]有
 1.0表示正常無伸縮
  值小于1.0表示收縮
  值大于1.0表示放大
 pivotX 動畫相對于物件的X坐標的開始位置
 pivotY 動畫相對于武將的Y坐標的開始位置
 說明:以上兩個屬性值 從0%-100%中取值
 長整型:
 duration 動畫持續(xù)時間
 說明:時間以毫秒為單位
 布爾型值:
 fillAfter 當設置為true,該動畫轉化在動畫結束后被應用
-->

<scale
 android:duration="700"
 android:fillAfter="false"
 android:fromXScale="0.0"
 android:fromYScale="0.0"
 android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 android:pivotX="50%"
 android:pivotY="50%"
 android:toXScale="1.4"
 android:toYScale="1.4" />

代碼方式:

Animation animationScale = new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animationScale.setDuration(3000);
ivAnim.startAnimation(animationScale);

4、translate 位置轉移動畫效果

<!--
translate 位置轉移動畫效果
 整型值:
 fromXDelta 動畫起始時 X坐標上的位置 
 toXDelta 動畫結束時 X坐標上的位置
 fromYDelta 動畫起始時 Y坐標上的位置
 toYDlta 動畫結束時 Y坐標上的位置
 注意:沒有指定fromXTra toXType fromYType toYType 時候,默認是以自己為相對參照物
 長整型:duration 為動畫持續(xù)時間
    時間以毫秒為單位
-->

<translate
 android:duration="2000"
 android:fromXDelta="30"
 android:fromYDelta="30"
 android:toXDelta="-80"
 android:toYDelta="300" />

復制代碼 代碼如下:

Animation animationTranslate = new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
animationTranslate.setDuration(3000);
ivAnim.startAnimation(animationTranslate);
 

xml文件方式使用的話就兩行代碼

復制代碼 代碼如下:

Animation anim = AnimationUtils.loadAnimation(activity, R.anim.anim_xxx);
ivAnim.startAnimation(anim);
 

5、frame幀動畫(文件放在res/drawable)

<!--
 根標簽為animation-list,其中oneshot代表著是否只展示一遍,設置為false會不停的循環(huán)播放動畫 
 根標簽下,通過item標簽對動畫中的每一個圖片進行聲明 
 android:duration 表示展示所用的該圖片的時間長度 

-->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 android:oneshot="true" >

 <item
 android:drawable="@drawable/icon_frame1"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame2"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame3"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame4"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame5"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame6"
 android:duration="50">
 </item>
</animation-list>

xml幀動畫使用代碼:
ivFrame = (ImageView) findViewById(R.id.iv_frame_image);
ivFrame.setImageResource(R.drawable.anim_frame); 
animation = (AnimationDrawable) ivFrame.getDrawable();
animation.setOneShot(false);//循環(huán)
animation.start();

以上就是針對Android實現(xiàn)動畫效果的全部內(nèi)容,希望大家能夠喜歡。

相關文章

最新評論

武定县| 班戈县| 临汾市| 舞钢市| 得荣县| 永靖县| 仙桃市| 永仁县| 自贡市| 贡觉县| 榕江县| 新竹县| 陇川县| 和政县| 盈江县| 谷城县| 十堰市| 咸丰县| 伊川县| 绥棱县| 沁源县| 扎囊县| 偏关县| 临武县| 庄河市| 萨嘎县| 南漳县| 中卫市| 全椒县| 新营市| 龙海市| 若尔盖县| 江安县| 十堰市| 和田市| 龙陵县| 宁晋县| 舒城县| 丰都县| 盘锦市| 晴隆县|