android 屬性動畫2

2021-07-29 20:56:13 字數 2687 閱讀 2214

#objectanimator

offloat 物件 ,屬性名(物件存在get set的屬性) ,變化的範圍

屬性

一組屬性動畫

imageview imageview= (imageview) findviewbyid(r.id.img);

//旋轉360度

objectanimator.offloat(imageview,"rotation",0f,360f).setduration(1000).start();

//x座標變換

objectanimator.offloat(imageview,"translationx",0f,200f).setduration(1000).start();

//y座標變換

objectanimator.offloat(imageview,"translationy",0f,200f).setduration(1000).start();

一組屬性動畫

常見的屬性

propertyvaluesholder p1=propertyvaluesholder.offloat("rotation",0f,360f);

propertyvaluesholder p2=propertyvaluesholder.offloat("translationx",0f,200f);

propertyvaluesholder p3=propertyvaluesholder.offloat("translationy",0f,200f);

objectanimator.ofpropertyvaluesholder(imageview,p1,p2,p3).setduration(1000).start();

用animatorset 執行一組動畫 可以設定執行順序

objectanimator oa1=objectanimator.offloat(imageview,"rotation",0f,360f);

objectanimator oa2=objectanimator.offloat(imageview,"translationx",0f,200f);

objectanimator oa3=objectanimator.offloat(imageview,"translationy",0f,200f);

animatorset set=new animatorset();

//一起執行

//依次執行

//3 2一起執行

set.play(oa2).with(oa3);

//執行完 2在執行1

set.play(oa1).after(oa2);

set.setduration(1000);

set.start();

#動畫的監聽 (監聽動畫的開始 結束 取消 ...)
objectanimator objectanimator=objectanimator.offloat(v,"alpha",0f,1f);

//全部重寫

objectanimator.addlistener(new animator.animatorlistener()

@override

public void onanimationend(animator animation)

@override

public void onanimationcancel(animator animation)

@override

public void onanimationrepeat(animator animation)

});//按 需求重寫

objectanimator.addlistener(new animatorlisteneradapter()

});objectanimator.setduration(1000);

objectanimator.start();

兩種方式 第一種 例項化 animatorlistener 需要重寫所有監聽

第二種 例項化 animatorlisteneradapter 需要哪個監聽就重寫哪個

objectanimator 繼承valueanimator

valueanimator實現的定時器

5秒內從0走到100

在onanimationupdate給button重新賦值

final button button=(button)v;

valueanimator valueanimator=valueanimator.ofint(0,100);

valueanimator.setduration(5000);

valueanimator.addupdatelistener(new valueanimator.animatorupdatelistener()

});valueanimator.start();

**

android屬性動畫2

1 使用xml檔案建立屬性動畫 首先在res下建立animator資料夾,然後建立res animator scalex.xml objectanimator xmlns android android duration 1000 android propertyname scalex androi...

android屬性動畫

一 屬性動畫的工作原理,主要有三個步驟 1 計算時間流逝。android動畫系統呼叫,用0 1代表時間的流逝。0表示經過0 的時間,1表示經過100 的時間。2 根據timeinterpolator計算出乙個差值因素。timeinterpolator以第1步流逝的時間作為引數,根據運動規則得出另乙個...

android 屬性動畫

package com.example.objectanimator import android.animation.animator import android.animation.animatorlisteneradapter import android.animation.animato...