因為最近項目的需要,需要實現一個拖動效果,看了一下網上剛好有這種拖動效果的demo,代碼大概如下:
private void initListener(){ screenWidth = getScreenWidth(this);//獲取屏幕寬度 screenHeight = getScreenHeight(this) - getStatusHeight(MainActivity.this);//屏幕高度-狀態欄 testTv.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: int dx = (int) event.getRawX() - lastX; int dy = (int) event.getRawY() - lastY; int top = v.getTop() + dy; int left = v.getLeft() + dx; if (top <= 0) { top = 0; } if (top >= screenHeight - testTv.getHeight() ) { top = screenHeight - testTv.getHeight(); } if (left >= screenWidth - testTv.getWidth()) { left = screenWidth - testTv.getWidth(); } if (left <= 0) { left = 0; } v.layout(left, top, left+v.getWidth(), top+v.getHeight()); v.postInvalidate(); lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); break; case MotionEvent.ACTION_UP: break; } return true;//這里根據項目需要選擇false與true } }); }
分享文章:Android實現拖動效果的兩種方法-創新互聯
文章鏈接:http://m.kartarina.com/article36/ccgosg.html
成都網站建設公司_創新互聯,為您提供自適應網站、微信小程序、網站策劃、網站改版、App開發、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯