寫(xiě)了個(gè)屬性動(dòng)畫(huà)
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ObjectAnimator.ofFloat(imageView,"translationY",-100).start();
}
});
發(fā)現(xiàn)這個(gè)按鈕無(wú)論點(diǎn)多少次都是只執(zhí)行了第一次,why?
加log
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("屬性動(dòng)畫(huà)","translationY"+imageView.getTranslationY());
ObjectAnimator.ofFloat(imageView,"translationY",-100).start();
}
});
打印如下
屬性動(dòng)畫(huà): translationY0.0 //第一次點(diǎn)擊
屬性動(dòng)畫(huà): translationY-100.0 // 第二次點(diǎn)擊
屬性動(dòng)畫(huà): translationY-100.0 //第三四五...
說(shuō)明屬性動(dòng)畫(huà)執(zhí)行的時(shí)候是更改了對(duì)象屬性的赁温,更改之前和更改之后的屬性如果都相同,那等同于沒(méi)改淤齐,所以要想每次讓對(duì)象執(zhí)行一次股囊,就要實(shí)時(shí)更新對(duì)象的屬性值,如下:
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ObjectAnimator.ofFloat(imageView,"translationY",imageView.getTranslationY()-100).start();
}
});