我已經通過ItemTouchHelper和ItemTouchHelper.callback和所有的方法看上去沒有方法似乎給了我的手指或物品的實時屏幕位置,如果有人能幫助它將是一個生命保護程序!
1
A
回答
0
您還可以在ItemTouchHelper的內部OnInterceptTouchEvent方法反饋
private final RecyclerView.OnItemTouchListener mOnItemTouchListener
= new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent event) {
mGestureDetector.onTouchEvent(event);
if (DEBUG) {
Log.d(TAG, "intercept: x:" + event.getX() + ",y:" + event.getY() + ", " + event);
}
final int action = MotionEventCompat.getActionMasked(event);
if (action == MotionEvent.ACTION_DOWN) {
mActivePointerId = MotionEventCompat.getPointerId(event, 0);
mInitialTouchX = event.getX();
mInitialTouchY = event.getY();
obtainVelocityTracker();
if (mSelected == null) {
final RecoverAnimation animation = findAnimation(event);
if (animation != null) {
mInitialTouchX -= animation.mX;
mInitialTouchY -= animation.mY;
endRecoverAnimation(animation.mViewHolder, true);
if (mPendingCleanup.remove(animation.mViewHolder.itemView)) {
mCallback.clearView(mRecyclerView, animation.mViewHolder);
}
select(animation.mViewHolder, animation.mActionState);
updateDxDy(event, mSelectedFlags, 0);
}
}
} else if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
wdwdwd
mActivePointerId = ACTIVE_POINTER_ID_NONE;
select(null, ACTION_STATE_IDLE);
} else if (mActivePointerId != ACTIVE_POINTER_ID_NONE) {
// in a non scroll orientation, if distance change is above threshold, we
// can select the item
final int index = MotionEventCompat.findPointerIndex(event, mActivePointerId);
if (DEBUG) {
Log.d(TAG, "pointer index " + index);
}
if (index >= 0) {
checkSelectForSwipe(action, event, index);
}
}
if (mVelocityTracker != null) {
mVelocityTracker.addMovement(event);
}
return mSelected != null;
}
0
我最終不得不進入Recyclerview V7 jar並採取來自ItemTouchHelper的代碼並創建我自己的ItemTouchHelper版本: 我將自己的方法添加到ItemTouchHelper.Callback
public abstract void onTouchMovement(MotionEvent touch_event, int directionFlags, int pointerIndex);
我打電話onTouchMovement在ItemTouchHelper的updateDxDy方法:
public void updateDxDy(MotionEvent ev, int directionFlags, int pointerIndex) {
final float x = MotionEventCompat.getX(ev, pointerIndex);
final float y = MotionEventCompat.getY(ev, pointerIndex);
mCallback.onTouchMovement(ev, directionFlags, pointerIndex);
現在,當過我創建一個ItemTouchHelper.Callback它配備了OnTouchMovement提供的位置在拖動/滑動
的每一個點相關問題
- 1. RecyclerView ItemTouchHelper如何鎖定滑動項目?
- 2. RecyclerView拖放通過itemTouchHelper bahaving快速拖動時很奇怪
- 3. ItemTouchHelper使拖動項目過去片段頁腳
- 4. 刪除<a href>從被拖動時可拖動 - jquery
- 5. 爲什麼我的RecyclerView和ItemTouchHelper在重寫getItemViewType()之後只有一個項目後停止拖動?
- 6. RecyclerView拖放 - 使用ItemTouchHelper - 如何在拖動時更快地設置滾動速度?
- 7. RecyclerView ItemTouchHelper滑動操作在片段分類中不起作用
- 8. Jquery UI可拖動在屏幕底部創建一個空格
- 9. 拖動/滑動滾動屏幕
- 10. jQuery的可拖動獲得負的位置值拖動時
- 11. ListView項目詳細信息屏幕:新建或同一活動?
- 12. 禁用RecyclerView項目拖動的振動
- 13. 垂直滑動/拖動屏幕IOS/Phonegap
- 14. 如何使用ItemTouchHelper和遊標實現拖放
- 15. 使用jQuery的可拖動的,你可以創建一個助手的基礎上拖動項目?
- 16. 創建一個可拖動的Svg組
- 17. 在屏幕上拖動一個jlabel
- 18. RecyclerView和ItemTouchHelper刷卡以消除問題
- 19. jQuery:如何獲得DIV滑動屏幕和滑入另一個?
- 20. 創建一個可拖動滑塊,事件問題
- 21. ItemTouchHelper notifyItemMoved到位置不起作用
- 22. 如何在使用拖動解除拖動時使inputAccessoryView保持在屏幕上?
- 23. jQuery的可拖動的拖動關閉屏幕
- 24. 如何製作一個<select>標籤項目可拖動?
- 25. 如何防止動態生成的具有固定位置的jQuery可拖動div被完全拖出屏幕?
- 26. 帶有SpannedGridLayoutManager的ItemTouchHelper - RecyclerView問題
- 27. 如何創建可拖動和可拖動的控件列表?
- 28. 使用餘量還原可拖動項目的位置
- 29. 在RecyclerView列表中拖動並滑動
- 30. 只能拖動拖動元素一次
您應該將兩個答案合併爲一個。 –