編輯:關於Android編程
前面一篇博客講解了 android 簡單動畫之 animtion,這裡來講解一下android 3.0之後添加的一些動畫 animator 中的 ObjectAnimator 。
1.alpha
//第一個參數為 view對象,第二個參數為 動畫改變的類型,第三,第四個參數依次是開始透明度和結束透明度。 ObjectAnimator alpha = ObjectAnimator.ofFloat(text, "alpha", 0f, 1f); alpha.setDuration(2000);//設置動畫時間 alpha.setInterpolator(new DecelerateInterpolator());//設置動畫插入器,減速 alpha.setRepeatCount(-1);//設置動畫重復次數,這裡-1代表無限 alpha.setRepeatMode(Animation.REVERSE);//設置動畫循環模式。 alpha.start();//啟動動畫。
AnimatorSet animatorSet = new AnimatorSet();//組合動畫 ObjectAnimator scaleX = ObjectAnimator.ofFloat(text, "scaleX", 1f, 0f); ObjectAnimator scaleY = ObjectAnimator.ofFloat(text, "scaleY", 1f, 0f); animatorSet.setDuration(2000); animatorSet.setInterpolator(new DecelerateInterpolator()); animatorSet.play(scaleX).with(scaleY);//兩個動畫同時開始 animatorSet.start();
ObjectAnimator translationUp = ObjectAnimator.ofFloat(button, "Y", button.getY(), 0); translationUp.setInterpolator(new DecelerateInterpolator()); translationUp.setDuration(1500); translationUp.start();
AnimatorSet set = new AnimatorSet() ; ObjectAnimator anim = ObjectAnimator .ofFloat(phone, "rotationX", 0f, 180f); anim.setDuration(2000); ObjectAnimator anim2 = ObjectAnimator .ofFloat(phone, "rotationX", 180f, 0f); anim2.setDuration(2000); ObjectAnimator anim3 = ObjectAnimator .ofFloat(phone, "rotationY", 0f, 180f); anim3.setDuration(2000); ObjectAnimator anim4 = ObjectAnimator .ofFloat(phone, "rotationY", 180f, 0f); anim4.setDuration(2000); set.play(anim).before(anim2); //先執行anim動畫之後在執行anim2 set.play(anim3).before(anim4) ; set.start();
5.android 改變背景顏色的動畫實現如下
ObjectAnimator translationUp = ObjectAnimator.ofInt(button, "backgroundColor", Color.RED, Color.BLUE, Color.GRAY, Color.GREEN); translationUp.setInterpolator(new DecelerateInterpolator()); translationUp.setDuration(1500); translationUp.setRepeatCount(-1); translationUp.setRepeatMode(Animation.REVERSE); /* * ArgbEvaluator:這種評估者可以用來執行類型之間的插值整數值代表ARGB顏色。 * FloatEvaluator:這種評估者可以用來執行浮點值之間的插值。 * IntEvaluator:這種評估者可以用來執行類型int值之間的插值。 * RectEvaluator:這種評估者可以用來執行類型之間的插值矩形值。 * * 由於本例是改變View的backgroundColor屬性的背景顏色所以此處使用ArgbEvaluator */ translationUp.setEvaluator(new ArgbEvaluator()); translationUp.start();
我們先來看一張圖,它清晰的說明了整個Android系統的啟動流程,參考Android內核開發:圖解Android系統的啟動過程。第一階段:Android設備上電後,首先會
前言在前面的文章中我們講述了Android動畫之視圖動畫學習了怎麼對一個view實現動畫,可以實現動畫包括平移,旋轉,縮放,漸變和幀動畫,這一篇我們來學習一個新的動畫實現
Android開發中經常使用Handler來實現“跨越線程(Activity)更新UI”。本文將從源碼角度回答:為什麼使用Handler能夠跨線程更新UI?為什麼跨線程更
(1)使用數據庫mysql,腳本語言如下: /* 用戶表*/ CREATE TABLE `usertbl` ( `id` int(11) NOT NULL AUTO_