欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)之動畫實(shí)現(xiàn)方法

 更新時間:2015年05月28日 11:23:54   作者:imzoer  
這篇文章主要介紹了Android開發(fā)之動畫實(shí)現(xiàn)方法,實(shí)例分析了Android中動畫的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android開發(fā)之動畫實(shí)現(xiàn)方法。分享給大家供大家參考。具體分析如下:

動畫分為三種:

逐幀動畫、布局動畫和控件動畫

控件動畫實(shí)現(xiàn)

通過重寫Animation的 applyTransformation (float interpolatedTime, Transformation t)函數(shù)來實(shí)現(xiàn)自定義動畫效果,另外一般也會實(shí)現(xiàn) initialize (int width, int height, int parentWidth, int parentHeight)函數(shù),這是一個回調(diào)函數(shù)告訴Animation目標(biāo)View的大小參數(shù),在這里可以初始化一些相關(guān)的參數(shù),例如設(shè)置動畫持續(xù)時間、設(shè)置Interpolator、設(shè)置動畫的參考點(diǎn)等。

OPhone在繪制動畫的過程中會反復(fù)的調(diào)用applyTransformation 函數(shù),每次調(diào)用參數(shù)interpolatedTime值都會變化,該參數(shù)從0漸變?yōu)?,當(dāng)該參數(shù)為1時表明動畫結(jié)束。通過參數(shù)Transformation 來獲取變換的矩陣(matrix),通過改變矩陣就可以實(shí)現(xiàn)各種復(fù)雜的效果。

下面舉例說明一個控件動畫:

Animation anim = new Animation() { 
  @Override 
  protected void applyTransformation(float interpolatedTime, Transformation t) { 
 if (interpolatedTime == 1) { 
   v.setVisibility(View.GONE); 
 } 
 else { 
   v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime); 
   v.requestLayout(); 
 } 
  } 
  @Override
  public boolean willChangeBounds() {
 return true;
  }
};

例子中,一個view的高度逐漸由原來的高度變?yōu)?。當(dāng)動畫結(jié)束之后,view消失。

希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論