乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android 動畫之補間動畫

       greenyun588 2013-09-14

          補間動畫是指定開始和結(jié)束的圖像狀態(tài),自動生成需要顯示的過度圖像的動畫。補間動畫又分為四種:移動,縮放,旋轉(zhuǎn),通明度。下面以移動補間動畫來做簡單說明,效果是把一個ImageView從左上角,向右下方向移動,然后返回到起始點,中間對動畫狀態(tài)進行監(jiān)聽,效果如圖:




       


          下面簡述其主要步驟:


       


          1、定義動畫文件:


      Java代碼 復制代碼 收藏代碼
      1. <translate xmlns:android="http://schemas./apk/res/android"    
      2.     android:duration="5000"    
      3.     android:fromXDelta="0"    
      4.     android:fromYDelta="0"    
      5.     android:interpolator="@android:anim/accelerate_decelerate_interpolator"    
      6.     android:toXDelta="200"    
      7.     android:toYDelta="300" />    

       說明:



      • android:interpolator:動畫渲染器,有三種渲染器可以設
        置:accelerate_decelerate_interpolator,accelerate_interpolator,decelerate_interpolator,
        它們分別對應的效果是:開始加速中間減速,一直加速,一直減速。

      • fromXDelta;動畫起始位置的X坐標;

      • fromYDelta:動畫起始位置的Y坐標;

      • toXDelta:動畫結(jié)束位置的X坐標;

      • toYDelta:動畫結(jié)束位置的Y坐標;

      • duration:動畫持續(xù)時間,單位毫秒。


          2、加載并啟動動畫:


      Java代碼 復制代碼 收藏代碼
      1. import android.app.Activity;  
      2. import android.os.Bundle;  
      3. import android.util.Log;  
      4. import android.view.animation.Animation;  
      5. import android.view.animation.AnimationUtils;  
      6. import android.view.animation.Animation.AnimationListener;  
      7. import android.widget.ImageView;  
      8.   
      9. public class TranslateActivity extends Activity implements AnimationListener {  
      10.       
      11.     private static final String TAG = "Translate";  
      12.       
      13.     private ImageView imageView;  
      14.     private Animation translateAnimation;  
      15.       
      16.     /** Called when the activity is first created. */  
      17.     @Override  
      18.     public void onCreate(Bundle savedInstanceState) {  
      19.         super.onCreate(savedInstanceState);  
      20.         setContentView(R.layout.main);  
      21.           
      22.         imageView = (ImageView) findViewById(R.id.imageView1);  
      23.           
      24.         // 裝載動畫文件  
      25.         translateAnimation = AnimationUtils.loadAnimation(this, R.xml.translate);  
      26.           
      27.         // 設置動畫監(jiān)聽器  
      28.         translateAnimation.setAnimationListener(this);  
      29.           
      30.         // 設置重復次數(shù)  
      31.         translateAnimation.setRepeatCount(1);  
      32.           
      33.         // 設置重復模式  
      34.         translateAnimation.setRepeatMode(Animation.REVERSE);  
      35.           
      36.         // 啟動動畫  
      37. //        imageView.setAnimation(translateAnimation);  
      38. //        translateAnimation.start();  
      39.           
      40.         imageView.startAnimation(translateAnimation);  
      41.           
      42.     }  
      43.   
      44.     @Override  
      45.     public void onAnimationEnd(Animation animation) {  
      46.         Log.i(TAG, "onAnimationEnd");  
      47.     }  
      48.   
      49.     @Override  
      50.     public void onAnimationRepeat(Animation animation) {  
      51.         Log.i(TAG, "onAnimationRepeat");  
      52.     }  
      53.   
      54.     @Override  
      55.     public void onAnimationStart(Animation animation) {  
      56.         Log.i(TAG, "onAnimationStart");  
      57.     }  
      58.       
      59. }  

          修改上面的某些代碼,猜想效果,并和實際效果作對比,有時會發(fā)現(xiàn)很有趣的現(xiàn)象?。海?img doc360img-src='http://image64.360doc.com/DownloadImg/2013/09/1419/35206614_4.gif' alt="" src="http://image64.360doc.com/DownloadImg/2013/09/1419/35206614_4.gif">


       


          縮放動畫的XML示例代碼:


       


      Java代碼 復制代碼 收藏代碼
      1. <set xmlns:android="http://schemas./apk/res/android"  
      2.     android:shareInterpolator="false" >  
      3.   
      4.     <scale  
      5.         android:duration="500"  
      6.         android:fromXScale="1"  
      7.         android:fromYScale="0.1"  
      8.         android:pivotX="50%"  
      9.         android:pivotY="50%"  
      10.         android:startOffset="100"  
      11.         android:toXScale="1"  
      12.         android:toYScale="1.0" />  
      13.   
      14. </set>  

       


          旋轉(zhuǎn)動畫的XML示例代碼如下:


      Java代碼 復制代碼 收藏代碼
      1. <rotate xmlns:android="http://schemas./apk/res/android"  
      2.     android:duration="10000"  
      3.     android:fromDegrees="0"  
      4.     android:interpolator="@anim/linear_interpolator"  
      5.     android:pivotX="200%"  
      6.     android:pivotY="300%"  
      7.     android:repeatCount="infinite"  
      8.     android:repeatMode="restart"  
      9.     android:toDegrees="360" />  

       


          3、多說一句:


          使用代碼同樣可以實現(xiàn)從XML加載動畫一樣的效果,有興趣的話,可以試試看!:)


       


       


       

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多