-
/*3 ImageView imageView=(ImageView) this.findViewById(R.id.imageView1); PropertyValuesHolder p1=PropertyValuesHolder.ofFloat("rotation", 0,360F); PropertyValuesHolder p2=PropertyValuesHolder.ofFloat("translationX", 0,400F); PropertyValuesHolder p3=PropertyValuesHolder.ofFloat("translationY", 0,360F); ObjectAnimator.ofPropertyValuesHolder(imageView, p1,p2,p3).setDuration(3000).start(); */ /* PropertyValuesHolder p1=PropertyValuesHolder.ofFloat(propertyName, values); * propertyName:是屬性 * value:是屬性變化的值 * ObjectAnimator.ofPropertyValuesHolder(target, values); * target:所要作用動畫的對象 * values:可變長數組 * */查看全部
-
fFloat(imageView, "translationX", 400F,-10F).setDuration(5000).start(); ObjectAnimator.ofFloat(imageView, "rotation", 0F,360F).setDuration(4000).start(); */ /*動畫進行是異步的 * target:所要操作的對象,這里是ImageView * propertyName:所需要操作的屬性 * value:動畫變化的范圍 * setDuration:用于設置動畫時長 * translationX,translationY 指的是物體的偏移量 * X,Y 指最終動畫所到達的絕對位置 * rotation 設置動畫旋轉 * */查看全部
-
/*1 //平移動畫,x坐標從0平移到400,y坐標不變 TranslateAnimation animation=new TranslateAnimation(0,400,0,0); //設置時長1秒 animation.setDuration(1000); //設置動畫運行完后停止在原地 animation.setFillAfter(true); ImageView imageView=(ImageView) this.findViewById(R.id.imageView1); //把新建的animation傳進來 imageView.startAnimation(animation); */查看全部
-
Animator同樣支持AnimatorSet,增加動畫組合的多樣性 playSequentially:按順序進行動畫的播放 playTogether:一起執行所選的動畫效果 還可以進行屬性集合的詳細控制 set.play(動畫2).with(動畫3); set.play(動畫1).after(動畫2); ObjectAnimatior.ofFloat()方法實現的動畫是同時進行的,同時操作多個屬性的動畫可以使用ofPropertyValuesHolder方法 PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("rotation",0,360F); PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("translationX",0,360F); PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("translationY",0,360F); ObjectAnimatior.ofPropertyValuesHolder(imageView,p1,p2,p3).setDuration(1000).start(); 好處是便于多種動畫的組合和復用 屬性動畫平移的實現方法 ObjectAnimatior.ofFloat(imageView,"translationX",0F,200f).setDuration(1000).start(); //ofFloat方法(要操作的對象,"要操作的元素",變化范圍,變化范圍).設置持續時間.開始執行 要操作的元素只要包含get和set方法都可以使用屬性動畫,例如 translationX/translationY:X/Y軸的偏移量 X/Y:X/Y的最終量 rotation:旋轉,從0度開始查看全部
-
使用AnimatorSet來完成 { AnimatorSet set = new AnimatorSet(); ObjectAnimator animator1 = ObjectAnimator.offloat(imageView, "rotation", 0f, 200f); ObjectAnimator animator2 = ObjectAnimator.offloat(imageView, "translationX", 0f, 200f); ObjectAnimator animator3 = ObjectAnimator.offloat(imageView, "translationY", 0f, 200f); set.playTogether(animator1,animator2,animator3); // 動畫一起播放 // set.playSequentially(animator1,animator2,animator3); // 順序播放動畫 // 控制動畫之間的播放順序 // set.play(animator2).with(animator3); // 先X和Y一起平移 // set.play(animator1).after(animator3); // 平移完成之后旋轉 set.setDuration(1000); set.start(); }查看全部
-
一、ObjectAnimator屬性動畫 1.ObjectAnimator.ofFloat(view,"",float,float).setDuration(1000).start(); 第二個參數: translationX、translationY偏移量 rotation旋轉 X、Y偏移至 2.同時作用三個屬性動畫 PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("rotation",0,360f); ObjectAnimator.ofPropertyValuesHolder(view,p1,p2,p3).setDuration(1000).start(); 二、AnimatorSet 1.同時作用三個屬性動畫 ObjectAnimator animator1 = ObjectAnimator.ofFloat(view,"rotation",0,360F); AnimatorSet set = new AnimatorSet(); set.playTogether(animator1,animator2,animator3); set.start(); 2.順次播放動畫 set.playSequentially(animator1,animator2,animator3); 3.組合動畫 set.play(animator2).with(animator3); set.play(animator1).after(animator2); 動畫二和動畫三同時播放,結束后播放動畫一查看全部
-
屬性動畫框架可以代替傳統的Animation框架<br> 屬性動畫中最簡單也最常用的一個對象——ObjectAnimator<br> ObjectAnimator可以操作很多的屬性,只要我們發現一個對象的屬性有get和set方法,那么我們就可以通過ObjectAnimator操作它的屬性,從而實現特定的動畫。 ObjectAnimator調用start()進行動畫是異步的,所以如果我們同時開始三個屬性動畫,那么這三個動畫是同時作用的查看全部
-
Android 3.0之后添加的屬性動畫框架 ·屬性動畫Animator & 傳統動畫Animation ·Sample { TranslateAnimation animation = new TranslateAnimation(0, 200, 0, 0); // x從0->200 animation.setDuration(1000); // 持續時間1s animation.setFillAfter(true); // 動畫運行完成后停留在原處 imageView.startAnimation(animation); // 開始動畫 }查看全部
-
傳統動畫Animation平移方法的實現 TranslateAnimation animation = new TranslateAnimation(x軸初始位置,x軸終止位置,y軸初始位置,y軸終止位置); animation.setDuration(1000);//設置持續時間,ms單位 animation.setFillAfter(true);//設置動畫結束后狀態,true為保持最終狀態 imageView.startAnimation(animation);//為控件添加要執行的動畫 傳統動畫的局限性,只是重繪了動畫,改變了顯示位置,但是真正的響應位置沒有發生任何改變,并不適合做具有交互的動畫效果查看全部
-
ValueAnimator --數值發生器,可以實現很多很靈活的動畫效果; ObjectAnimator --繼承于ValueAnimator,可以很好滴使用屬性對話框架; AnimatorUpdateListener -- 用于動畫監聽器 AnimatorListenerAdapter-- 用于動畫監聽器 PropertyValuesHolder --用于控制動畫集合的顯示效果 Animatorset --用于控制動畫集合的顯示效果 TypeEvaluators ---值計算器,用于控制值變化的規律 Interprolators ---插值計算器,用于控制值變化的規律查看全部
-
ValueAnimator --數值發生器,可以實現很多很靈活的動畫效果; ObjectAnimator --繼承于ValueAnimator,可以很好滴使用屬性對話框架; AnimatorUpdateListener -- 用于動畫監聽器 AnimatorListenerAdapter-- 用于動畫監聽器 PropertyValuesHolder --用于控制動畫集合的顯示效果 Animatorset --用于控制動畫集合的顯示效果 TypeEvaluators ---值計算器,用于控制值變化的規律 Interprolators ---插值計算器,用于控制值變化的規律查看全部
-
動畫監聽事件查看全部
-
animatorset方法查看全部
-
屬性動畫查看全部
-
學習安卓小項目的好方式,谷歌的API demo,學習好了這個,看和做其它的項目,都會得心應手。查看全部
舉報
0/150
提交
取消