麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 系統(tǒng) > Android > 正文

Android屬性動(dòng)畫(Animator)

2019-11-11 06:11:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

傳統(tǒng)的Animation動(dòng)畫雖然使用方便,但是不適合做具有交互性的動(dòng)畫效果,僅僅適合做展示性的動(dòng)畫,而Animator,屬性動(dòng)畫,是改變了該view的內(nèi)部屬性,適合有交互功能的動(dòng)畫。

1.ObjectAnimator

代碼:

//第一個(gè)參數(shù),動(dòng)畫的對(duì)象,第二個(gè)參數(shù),需要改變的動(dòng)畫屬性,后邊參數(shù),變化的具體值(像素)//若寫多個(gè),則動(dòng)畫會(huì)同時(shí)實(shí)行,此例中即旋轉(zhuǎn)360°的同時(shí)向x軸和y軸平移ObjectAnimator.ofFloat(iv, "rotation", 0f, 360f).setDuration(1000).start();ObjectAnimator.ofFloat(iv, "translationX", 0f, 200f).setDuration(1000).start();ObjectAnimator.ofFloat(iv, "translationY", 0f, 200f).setDuration(1000).start();

可用的屬性有

屬性名 含義
translationX和translationY x軸和y軸的偏移量
rotation、rotationX和rotationY 圍繞支點(diǎn)旋轉(zhuǎn)
scaleX和scaleY 縮放
pivotX和pivotY 控制著view對(duì)象的支點(diǎn)位置,圍繞該支點(diǎn)旋轉(zhuǎn)縮放處理,默認(rèn)是view中心點(diǎn)
alpha 透明度

2.PRopertyValuesHolder

代碼:

//效果同上,但動(dòng)畫效果做了優(yōu)化,而且更有效率PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("rotation", 0f, 360f);PropertyValuesHolder p2 = PropertyValuesHolder.ofFloat("translationX", 0f, 200f);PropertyValuesHolder p3 = PropertyValuesHolder.ofFloat("translationY", 0f, 200f);//調(diào)用ofPropertyValuesHolder方法傳入要?jiǎng)赢嫷目丶蚉ropertyValuesHolderObjectAnimator.ofPropertyValuesHolder(iv, p1, p2, p3).setDuration(1000).start();

3.AnimatorSet

提供了更多的動(dòng)畫控制效果

代碼:

ObjectAnimator animator1 = ObjectAnimator.ofFloat(iv, "rotation", 0f, 360f);ObjectAnimator animator2 = ObjectAnimator.ofFloat(iv, "translationX", 0f, 200f);ObjectAnimator animator3 = ObjectAnimator.ofFloat(iv, "translationY", 0f, 200f);AnimatorSet set = new AnimatorSet();set.playTogether(animator1, animator2, animator3);//同時(shí)執(zhí)行// set.playSequentially(animator1, animator2, animator3); //按順序執(zhí)行set.setDuration(1000);set.start();

還可以先x軸和y軸同時(shí)平移,最后才旋轉(zhuǎn)

代碼:

//將set.playTogether()替換為如下代碼set.play(animator2).with(animator3);//with表示同時(shí)一起執(zhí)行set.play(animator1).after(animator2);//after 2 或者 3 都可以

4.Animator監(jiān)聽事件

代碼:

ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(iv, "alpha", 0f, 1f);objectAnimator.setDuration(1000);//添加adapter來(lái)只監(jiān)聽某個(gè)事件或者如下注釋的全部監(jiān)聽objectAnimator.addListener(new AnimatorListenerAdapter() {@Overridepublic void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); Toast.makeText(getapplicationContext(), "別點(diǎn)了!", Toast.LENGTH_LONG).show(); }});// objectAnimator.addListener(new Animator.AnimatorListener() {// @Override// public void onAnimationStart(Animator animation) {//// }//// @Override// public void onAnimationEnd(Animator animation) {// Toast.makeText(getApplicationContext(), "別點(diǎn)了!", Toast.LENGTH_LONG).show();// }//// @Override// public void onAnimationCancel(Animator animation) {//// }//// @Override// public void onAnimationRepeat(Animator animation) {//// }// });objectAnimator.start();

5.ValueAnimator的使用

ValueAnimator可以當(dāng)做數(shù)值發(fā)生器,生產(chǎn)具有一定規(guī)律的數(shù)字,從而來(lái)控制動(dòng)畫的過程。

例如:

代碼:按鈕的點(diǎn)擊事件中,設(shè)置ValueAnimator

ValueAnimator animator = ValueAnimator.ofInt(0, 100);animator.setDuration(5000);animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { //獲取動(dòng)畫過程中的value(上邊定義的0~100),用以其他邏輯,例如設(shè)置文字 Integer value = (Integer) animation.getAnimatedValue(); bt.setText("" + value); }});animator.start();

6.View的animate方法

View直接就有animate()方法,用以直接驅(qū)動(dòng)簡(jiǎn)單的屬性動(dòng)畫

代碼:

bt_time.animate() .alpha(0). setDuration(1000). withStartAction(new Runnable() { @Override public void run() { } }) .withEndAction(new Runnable() { @Override public void run() { } }) .start();
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蜜桃网站免费 | 男女生羞羞视频网站在线观看 | 亚洲成人在线免费观看 | 色综合一区二区 | 黄色高清视频网站 | 久久亚洲第一 | 国产小视频在线观看 | 国产精品视频2021 | 成人在线精品视频 | 成人午夜免费国产 | 中文字幕欧美日韩 | 色婷婷久久一区二区 | 国产一区二区精品免费 | 毛片av网 | 成年人视频免费看 | 欧美日韩手机在线观看 | 国产精品视频不卡 | avav在线播放 | 国产成年人小视频 | 日韩视频一 | 国产免费网站视频 | 羞羞视频免费观看网站 | 国产精品视频1区 | 国产成年人在线观看 | 久久国语对白 | 国产一级爱c视频 | 成人毛片视频在线观看 | 99激情 | 久久国产精品二国产精品 | 99riav国产在线观看 | 精品一区二区免费视频视频 | 日韩黄色影视 | 久久精品中文 | 免费视频xxxx | 黄色特级片黄色特级片 | 成人免费乱码大片a毛片视频网站 | 99精品国产视频 | 国产1区2区在线观看 | 久久久久久久久久综合 | 一本大道av | 欧美成人免费电影 |