編輯:關於Android編程
為了讓用戶的使用更舒適所以有些情況使用動畫是很有必要的,Android在3.0以前支持倆種動畫Tween動畫以及Frame動畫。Tween動畫支持簡單的平移,縮放,旋轉,漸變,Frame動畫就像Gif圖通過一系列圖片來模擬動畫效果,而在Android 3.0以後引入了新的動畫就是屬性動畫(property animation), Android 分享一個簡單有趣的動畫效果 就是利用了屬性動畫。
今天我們主要來學習Tween動畫也就是View動畫。
View 動畫只能應用於View對象,而且只支持一部分屬性,而且對於View 動畫,它只是改變了View對象繪制的位置,而沒有改變View對象本身,比如當前有一個button的坐標是(200,200)通過平移動畫移動到(200,500),但是你點擊移動後的button是沒有任何效果,如下圖:
知道了這個大前提我們就開始了解View動畫的基本用法吧,動畫可以用java代碼寫也可以用xml寫<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+MaOsxr3Sxravu608L3A+CjxwPjxwcmUgY2xhc3M9"brush:java;"> duration動畫時間,fillAfter保持動畫結束後狀態,fromXDelta起始X位置,fromYDelta起始Y位置,repeatCount重復次數,repeatMode重復模式 restart為正序 reverse為倒序,在java代碼中用
Animation animation =AnimationUtils.loadAnimation(this, R.anim.tran_btn);
view.startAnimation(animation);
Animation animation2 = new TranslateAnimation(0, 20, 0, 0); animation2.setDuration(2000); animation2.setRepeatCount(10); animation2.setRepeatMode(Animation.RESTART); button.startAnimation(animation2);new TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta)
2,旋轉動畫
Animation animation2 = new RotateAnimation(0, 360, 0, 0); animation2.setDuration(2000); button.startAnimation(animation2);
3,漸變動畫
其實看通一個剩下的都是觸類旁通
Animation animation = new AlphaAnimation(1, 0); animation.setDuration(3000); button.startAnimation(animation);
4,縮放動畫
ok,這下四種基本動畫都簡單的結束了一下,但是我們有時可能會有一些特殊的需求,比如讓播放一組動畫,這時我們可以使用set
這樣就可以依次播放,但有時我們想要一下特殊的效果比如說動畫的加速度,這時候我們可以用上interpolator,animation.setInterpolator(new AccelerateInterpolator());
AccelerateDecelerateInterpolator 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速
AccelerateInterpolator 在動畫開始的地方速率改變比較慢,然後開始加速
AnticipateInterpolator 開始的時候向後然後向前甩
AnticipateOvershootInterpolator 開始的時候向後然後向前甩一定值後返回最後的值
BounceInterpolator 動畫結束的時候彈起
CycleInterpolator 動畫循環播放特定的次數,速率改變沿著正弦曲線
DecelerateInterpolator 在動畫開始的地方快然後慢
LinearInterpolator 以常量速率改變
OvershootInterpolator 向前甩一定值後再回到原來位置
謝謝耐心的看完,不積跬步無以至千裡,有什麼疑問的話也可以留言。。
在移動平台中設備與用戶的交互必須通過事件處理完成。用戶輸入被封裝為事件,Cocos2d-x游戲引擎能夠接收並處理這些事件,包括觸摸事件、鍵盤事件、鼠標事件、加速度事件和自
效果圖展示,圖片有點卡,耐心看會,原程序是很流暢的實現步驟: 聲明變量 初始化畫筆、文本大小和坐標 onMeasure()適配wrap_content的寬高 onDraw
相信大家都已經可以熟練使用ListView和GridView,大神們估計都在使用RecyclerView了。如果還在使用ListView,你肯定有這樣的一個深刻的感受,那
一.概述MVP(Model-View-Presenter) 是總所周知MVC模式的一個演變,他們的主要目的都是劃分模塊職責,降低模塊耦合,易測試,提高代碼復用,這裡主要針