Android實現(xiàn)View拖拽跟隨手指移動效果
今天想實現(xiàn)這個功能,但是網(wǎng)上搜索代碼,都是利用setPadding,setMargin 等方法去實現(xiàn)的,這在Android 4.0 以前是沒問題的,但是,android 4.0 后系統(tǒng)已經(jīng)提供了更簡單的方法給我們用了,就是setTranslationX()
和setTranslationY()
。這兩個是View的屬性方法。現(xiàn)在我就用這兩個方法實現(xiàn)一個View可以跟著手指移動拖拽的效果。代碼非常非常簡單:
public class DragView extends TextView { float moveX; float moveY; public DragView(Context context) { super(context); } public DragView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: moveX = event.getX(); moveY = event.getY(); break; case MotionEvent.ACTION_MOVE: setTranslationX(getX() + (event.getX() - moveX)); setTranslationY(getY() + (event.getY() - moveY)); break; case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_CANCEL: break; } return true; } }
總結
以上所述是小編給大家介紹的Android實現(xiàn)View拖拽跟隨手指移動效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Android Native 內(nèi)存泄漏系統(tǒng)化解決方案
這篇文章主要介紹了Android Native 內(nèi)存泄漏系統(tǒng)化解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07Android編程之簡單逐幀動畫Frame的實現(xiàn)方法
這篇文章主要介紹了Android編程之簡單逐幀動畫Frame的實現(xiàn)方法,結合實例較為詳細的分析了Android逐幀動畫的原理、步驟與具體實現(xiàn)技巧,需要的朋友可以參考下2015-12-12Android ListView 子控件onClick正確獲取position的方法
這篇文章主要介紹了Android ListView 子控件onClick正確獲取position的方法,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-01-01