亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Android屬性動畫賞析

難度中級
時長 1小時20分
學習人數
綜合評分9.80
125人評價 查看評價
9.9 內容實用
9.8 簡潔易懂
9.7 邏輯清晰
  • 屬性動畫和傳統的動畫
    查看全部
  • qd
    查看全部
  • Interpolator
    查看全部
  • set.play()可以設置動畫實現的先后順序
    查看全部
  • Goolge中PropretyValuesHolder可以實現多個動畫的實現,并且有一定的優化。
    查看全部
  • ObjectAnimator.ofFloat(imageView,"translationX",0F,200F).setDuraion(1000).start();
    查看全部
  • 屬性動畫 Animator 與傳統動畫 Animation Animation:系統一直不斷地調用 onDraw()方法去重繪界面,來實現動畫的效果。 Animator:屬性動畫,顧名思義,就是通過屬性的 get/set 方法去真實地改變這個屬性。 既然已經有了 Animation 動畫框架,谷歌為什么還要創建 Animator 屬性動畫框架呢? 局限性:交互性較差,比較耗費CPU資源等。舉個例子: 給一個ImageView設置點擊事件(比如彈出一個Toast),并給ImageView設置位移動畫(動畫已設置了setFillAfter(true),使圖片在位移之后不會復位),最后設置一個Button用于啟動動畫。啟動動畫之前,我們點擊圖片,會彈出一個Toast,這很正常。但啟動動畫之后,等圖片離開了原來的位置,我們再點擊這個圖片,卻毫無響應,去點擊原來的位置,卻彈出了Toast,這就是Animation的第一個局限:它只是重繪了動畫,并不具有交互性,不能做有交互的動畫效果。 第二個局限:由于Animation動畫框架是通過不斷去調用 onDraw()去重繪界面,所以會很耗費CPU資源。 其他局限:Animation僅僅具有位移、旋轉、縮放、透明度這4種動畫。雖然通過各種各樣的組合,我們已經能夠實現比較豐富的動畫效果,但是相比一個屬性來說,這還是遠遠不夠的。
    查看全部
  • ObjectAnimator實現下拉列表
    查看全部
  • ObjectAnimator多組合
    查看全部
  • ObjectAnimator
    查看全部
  • ValueAnimator 是ObjectAnimator的父類 ObjectAnimator是對ValueAnimator的一個封裝,為我們實現了一些屬性的動畫的封裝 ValueAnimator是一個數值變化過程的封裝,通過addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){ @Override public void onAnimationUpdate(ValueAnimator animation){ Integer value=animation.getAnimatedValue();//變化的過程的值 } }) 監聽數值變化的過程,實現一些不可告人的用途。
    查看全部
  • 為屬性動畫添加監聽器: 直接使用ObjectAnimator對象的addListener()方法,傳入一個Animator.AnimatorListener接口對象即可添加監聽器。 谷歌提供了一個子類:AnimatorListenerAdapter,,使用該類的對象即可任意覆蓋父類方法,節約代碼量
    查看全部
  • AnimatorSet----屬性動畫集 可以使用AnimatorSet類存放多個ObjectAnimator對象 ObjectAnimator oA1=ObjectAnimator.ofFloat(imageView,"translationX",0F,200F); ObjectAnimator oA2=ObjectAnimator.ofFloat(imageView,"translationY",0F,200F); AnimatorSet set=new AnimatorSet(); set.playTogether(oA1,oA2);//將屬性動畫添加進集合中--該方法會同時播放 //set.playSequentially(oA1,oA2);//將屬性動畫添加進集合中--該方法順序播放 //set.play(oA1).with(oA2);//第一個和第二個同時播放 //set.play(..).after(..);//第一個之后播放第二個 //通過以上幾個方法可以靈活控制動畫播放順序 set.setDuration(1000); set.start();//播放
    查看全部
  • 谷歌提供了一個更好的方法實現剛剛的那種動畫效果,效率更高一點 PropertyValuesHolder類-----字面意思是屬性值的管理,持有者 代碼示例: //先用這個類定義一些屬性動畫 PropertyValuesHolder pvh1=PropertyValuesHolder.ofFloat("rotation",0,360F); PropertyValuesHolder pvh1=PropertyValuesHolder.ofFloat("translationX",0,200F); //使用ObjectAnimator應用動畫到控件中 ObjectAnimator.ofPropertyValuesHolder(imageView,pvh1,pvh2)//將定義的動畫應用到imageView中 .setDuration(1000)//設置播放時間 .start();//開始播放
    查看全部
  • Animation動畫的缺點:通過view的draw方法肉眼上改變動畫,并沒有真正的改變動畫的屬性,如果需要在播放動畫之后進行一些交互操作則會出現一些問題 谷歌提供新的動畫框架 屬性動畫 1.ObjectAnimator ImageView imageView=findViewById(....); ObjectAnimator.ofFloat(imageView,"translationX",0F,200F)//給imageView注冊一個動畫。第二個參數字符串指定改變的屬性。可以是任何擁有get、set方法的屬性 .setDuration(100)//設置播放時間 .start();//播放動畫 這是一個最簡單的屬性動畫 start是一個異步實現,所以多個以上代碼會同時執行。
    查看全部

舉報

0/150
提交
取消
老師告訴你能學到什么?
通過本課程,你將學到: 1、3.0之后新增的屬性動畫介紹 2、舊動畫框架的局限性 3、實際演示屬性動畫的基本用法 4、介紹關于動畫的高級技巧:插值器、估值器等 5、各種動畫的使用場景

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!