亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

動(dòng)畫分為三種:

逐幀動(dòng)畫、布局動(dòng)畫和控件動(dòng)畫

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

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

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

下面舉例說明一個(gè)控件動(dòng)畫:

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;
  }
};

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

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

相關(guān)文章

最新評(píng)論