最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

PropertyAnimation屬性動(dòng)畫,還用補(bǔ)間動(dòng)畫你就out了_html/css

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 16:17:57
文檔

PropertyAnimation屬性動(dòng)畫,還用補(bǔ)間動(dòng)畫你就out了_html/css

PropertyAnimation屬性動(dòng)畫,還用補(bǔ)間動(dòng)畫你就out了_html/css_WEB-ITnose://android動(dòng)畫有補(bǔ)間動(dòng)畫、逐幀動(dòng)畫和屬性動(dòng)畫(支持3.0版本+),本篇博客主要介紹屬性動(dòng)畫。 效果圖: 一、單個(gè)動(dòng)畫的使用 定義動(dòng)畫文件: //注意:動(dòng)畫文件要放在 res/animator/ 目錄下 代碼中調(diào)用: ObjectAnimator animator = (
推薦度:
導(dǎo)讀PropertyAnimation屬性動(dòng)畫,還用補(bǔ)間動(dòng)畫你就out了_html/css_WEB-ITnose://android動(dòng)畫有補(bǔ)間動(dòng)畫、逐幀動(dòng)畫和屬性動(dòng)畫(支持3.0版本+),本篇博客主要介紹屬性動(dòng)畫。 效果圖: 一、單個(gè)動(dòng)畫的使用 定義動(dòng)畫文件: //注意:動(dòng)畫文件要放在 res/animator/ 目錄下 代碼中調(diào)用: ObjectAnimator animator = (

//android動(dòng)畫有補(bǔ)間動(dòng)畫、逐幀動(dòng)畫和屬性動(dòng)畫(支持3.0版本+),本篇博客主要介紹屬性動(dòng)畫。
效果圖: 一、單個(gè)動(dòng)畫的使用

定義動(dòng)畫文件:

//注意:動(dòng)畫文件要放在 res/animator/ 目錄下

代碼中調(diào)用:

ObjectAnimator animator = (ObjectAnimator) AnimatorInflater.loadAnimator(this, R.animator.anim_scale);animator.setTarget(view);animator.start();

純代碼添加動(dòng)畫:

ObjectAnimator animation = ObjectAnimator.ofFloat(view, "scaleX", 1.0f, 2.0f);animation.setDuration(1000);animation.start();
二、組合動(dòng)畫的使用

定義動(dòng)畫文件:

  

代碼中調(diào)用:

AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.anim_multi);set.setTarget(view);set.start();

純代碼添加動(dòng)畫:

AnimatorSet set = new AnimatorSet();//組合動(dòng)畫ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, "scaleX", 1f, 2f);ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 1f, 2f);set.setDuration(2000);set.setInterpolator(new DecelerateInterpolator());set.play(scaleX).with(scaleY);//兩個(gè)動(dòng)畫同時(shí)開(kāi)始set.start();
三、更改單個(gè)屬性
PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("translationX", 0f, 300f);PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("translationY", 0f, 300f);ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(view, pvhX, pvhY);animator.setDuration(2000);animator.start();
四、快速設(shè)置多種動(dòng)畫
//ViewPropertyAnimator在我看來(lái)相當(dāng)于一個(gè)view的動(dòng)畫管理者,調(diào)用view.animate()即可獲取。
ViewPropertyAnimator animator = view.animate(); animator.translationX(50).rotationBy(-90).rotation(90).setDuration(1000).start();
五、關(guān)系分析


多個(gè)動(dòng)畫屬性(PropertyValues)構(gòu)成一個(gè)動(dòng)畫對(duì)象(ObjectAnimator),多個(gè)動(dòng)畫對(duì)象(ObjectAnimator)合成一個(gè)組合動(dòng)畫(AnimatorSet)

六、動(dòng)畫分析
//在屬性動(dòng)畫中新增的動(dòng)畫效果有以下幾種
1)translationX 和 translationY:這兩個(gè)屬性控制了View所處的位置,它們的值是由layout容器設(shè)置的,是相對(duì)于坐標(biāo)原點(diǎn)(0,0 左上角)的一個(gè)偏移量。2)rotation, rotationX 和 rotationY:控制View繞著軸點(diǎn)(pivotX和pivotY)旋轉(zhuǎn)。3)scaleX 和 scaleY:控制View基于pivotX和pivotY的縮放。4)pivotX 和 pivotY:旋轉(zhuǎn)的軸點(diǎn)和縮放的基準(zhǔn)點(diǎn),默認(rèn)是View的中心點(diǎn)。5)x 和 y:描述了view在其父容器中的最終位置,是左上角左標(biāo)和偏移量(translationX,translationY)的和。6)aplha:透明度,1 是完全不透明,0 是完全透明。
七、彩蛋
修改view的背景色
/** ArgbEvaluator:這種評(píng)估者可以用來(lái)執(zhí)行類型之間的插值整數(shù)值代表ARGB顏色。* FloatEvaluator:這種評(píng)估者可以用來(lái)執(zhí)行浮點(diǎn)值之間的插值。* IntEvaluator:這種評(píng)估者可以用來(lái)執(zhí)行類型int值之間的插值。* RectEvaluator:這種評(píng)估者可以用來(lái)執(zhí)行類型之間的插值矩形值。** 由于本例是改變View的backgroundColor屬性的背景顏色所以此處使用ArgbEvaluator*/ObjectAnimator animator = ObjectAnimator.ofInt(view, "backgroundColor", Color.RED, Color.BLUE, Color.GRAY, Color.GREEN);animator.setInterpolator(new DecelerateInterpolator());animator.setDuration(1500);animator.setRepeatCount(-1);animator.setRepeatMode(Animation.REVERSE);animator.setEvaluator(new ArgbEvaluator());animator.start();
八、放大招了
//屬性動(dòng)畫不止可以應(yīng)用于View,還可以應(yīng)用于任何對(duì)象。

看到上面view變形的時(shí)候字體也變了,好不舒服有沒(méi)有?屬性動(dòng)畫的亮點(diǎn)來(lái)啦,可以只更改width!

ObjectAnimator.ofInt(view, "width", 800).setDuration(5000).start();
Tip:

為了在各種安卓版本上使用屬性動(dòng)畫,你需要采用NineOldAndroids。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

PropertyAnimation屬性動(dòng)畫,還用補(bǔ)間動(dòng)畫你就out了_html/css

PropertyAnimation屬性動(dòng)畫,還用補(bǔ)間動(dòng)畫你就out了_html/css_WEB-ITnose://android動(dòng)畫有補(bǔ)間動(dòng)畫、逐幀動(dòng)畫和屬性動(dòng)畫(支持3.0版本+),本篇博客主要介紹屬性動(dòng)畫。 效果圖: 一、單個(gè)動(dòng)畫的使用 定義動(dòng)畫文件: //注意:動(dòng)畫文件要放在 res/animator/ 目錄下 代碼中調(diào)用: ObjectAnimator animator = (
推薦度:
標(biāo)簽: it 動(dòng)畫 out
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top