標籤:viewhelper nineoldandroids 控制view移動
我們知道有不少開源工程,能實現很多不錯的效果。前幾天,我看了一個效果,剛好項目中也用到了這個jar包。沒事挖一挖 學一學(一說到挖一挖,那麼問題來了,挖掘機技術到底哪家強 ),看看不錯的效果怎麼實現的呢?函數的具體意義有是什麼呢?很多效果,我們不需要重新造輪子,只需要裝配輪子,開車走起就可以了,你沒有那麼多時間造輪子,我們可以選擇自己喜歡的輪子,開我們的蘭博基尼,開我們的保時捷概念車,開起來!
先看一下效果吧!挖自開源項目中的(NineOldAndroids開源項目)
不廢話。我們解釋下相關函數。
private View header_logo;private float moveDistanceY = 25;// logo初始移動距離為10private float moveDistanceX = 25;// logo初始移動距離為10@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_moveDown :moveDistanceY += 20;ViewHelper.setTranslationY(header_logo, moveDistanceY);break;case R.id.btn_moveUp :moveDistanceY -= 20;ViewHelper.setTranslationY(header_logo, moveDistanceY);break;case R.id.btn_moveLeft :moveDistanceX -= 20;ViewHelper.setTranslationX(header_logo, moveDistanceX);break;case R.id.btn_moveRight :moveDistanceX += 20;ViewHelper.setTranslationX(header_logo, moveDistanceX);break;default :break;}}
關於 ViewHelper.setTranslationY(view,float)函數的解釋。這裡的view 是您要移動哪個View 就是哪個東西你要將他在介面上進行活動呢? float是指你移動的距離 ,(假定參考座標 最開始的位置中心位置為0)。那麼ViewHelper.setTranslationY(view,100)就是把view向下(比最原始的位置)移動100,那麼120那 130那 140 150呢
就是比最原始的位置多10、多20、多30、多40。。。。所以ViewHelper.setTranslationX 還是ViewHelper.setTranslationY都可以實現了。還是上原始碼吧。要不你們看不到效果是不是要罵我了。嘎嘎。
要用到ViewHelper,需要引用jar包。開源工程的jar包
本工程源碼 :猛擊這裡,以後保證 每周必須更新一篇最新的技術文章,每天要努力 挖掘技術點(不是開挖掘機,開挖掘機還是去藍翔開去)。要不,你們以為我這麼長時間都不出氣,是不是掛了?還是被車撞了,趟醫院起不來了。。。。。
Android中通過ViewHelper.setTranslationY實現View移動控制(NineOldAndroids開源項目)