Skip to content

Commit

Permalink
更新gradle,sdk,依赖库版本
Browse files Browse the repository at this point in the history
  • Loading branch information
AItsuki committed Sep 8, 2018
1 parent 3d3bab1 commit 6813142
Showing 1 changed file with 17 additions and 27 deletions.
44 changes: 17 additions & 27 deletions library/src/main/java/com/aitsuki/swipe/SwipeItemLayout.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.support.v4.view.GravityCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.ViewDragHelper;
Expand Down Expand Up @@ -128,6 +129,7 @@ public boolean onInterceptTouchEvent(MotionEvent ev) {
return mIsDragged || super.onInterceptTouchEvent(ev);
}

@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (!mSwipeEnable) {
Expand All @@ -154,13 +156,12 @@ public boolean onTouchEvent(MotionEvent ev) {
obtain.setAction(MotionEvent.ACTION_CANCEL);
super.onTouchEvent(obtain);
}

break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
if (mIsDragged || mIsOpen) {
mDragHelper.processTouchEvent(ev);
// 拖拽后手指抬起,或者已经开启菜单,不应该响应到点击事件
mDragHelper.processTouchEvent(ev);
ev.setAction(MotionEvent.ACTION_CANCEL);
mIsDragged = false;
}
Expand All @@ -172,7 +173,7 @@ public boolean onTouchEvent(MotionEvent ev) {
break;
}
return mIsDragged || super.onTouchEvent(ev)
// 此判断是因为当没有点击事件时,事件会给RecylcerView响应导致无法划开菜单
// 此判断是因为当没有点击事件时,事件会给RecyclerView响应导致无法划开菜单
|| (!isClickable() && mMenus.size() > 0);
}

Expand Down Expand Up @@ -212,7 +213,7 @@ private void checkCanDragged(MotionEvent ev) {
}

if (mIsDragged) {
// 开始拖动后,分发down事件给DragHelper,并且发送一个cancel取消点击事件
// 开始拖动后,分发down事件给DragHelper
MotionEvent obtain = MotionEvent.obtain(ev);
obtain.setAction(MotionEvent.ACTION_DOWN);
mDragHelper.processTouchEvent(obtain);
Expand Down Expand Up @@ -260,7 +261,7 @@ public View getContentView() {
/**
* 判断down是否点击在Content上
*/
public boolean isTouchContent(int x, int y) {
private boolean isTouchContent(int x, int y) {
View contentView = getContentView();
if (contentView == null) {
return false;
Expand All @@ -280,7 +281,7 @@ private boolean isRightMenu() {
return mCurrentMenu != null && mCurrentMenu == mMenus.get(Gravity.RIGHT);
}

public boolean isTouchMenu(int x, int y) {
private boolean isTouchMenu(int x, int y) {
if (mCurrentMenu == null) {
return false;
}
Expand Down Expand Up @@ -357,10 +358,8 @@ private boolean isOpenAnimating() {
if (mCurrentMenu != null) {
int contentLeft = getContentView().getLeft();
int menuWidth = mCurrentMenu.getWidth();
if (mIsOpen && ((isLeftMenu() && contentLeft < menuWidth)
|| (isRightMenu() && -contentLeft < menuWidth))) {
return true;
}
return mIsOpen && ((isLeftMenu() && contentLeft < menuWidth)
|| (isRightMenu() && -contentLeft < menuWidth));
}
return false;
}
Expand All @@ -371,13 +370,13 @@ private boolean isOpenAnimating() {
private boolean isCloseAnimating() {
if (mCurrentMenu != null) {
int contentLeft = getContentView().getLeft();
if (!mIsOpen && ((isLeftMenu() && contentLeft > 0) || (isRightMenu() && contentLeft < 0))) {
return true;
}
return !mIsOpen && ((isLeftMenu() && contentLeft > 0)
|| (isRightMenu() && contentLeft < 0));
}
return false;
}

@SuppressLint("RtlHardcoded")
private void updateMenu() {
View contentView = getContentView();
if (contentView != null) {
Expand Down Expand Up @@ -414,10 +413,6 @@ private void updateMenu() {
* @param listener SwipeListener
*/
public void addSwipeListener(SwipeListener listener) {
if (listener == null) {
return;
}

if (mListeners == null) {
mListeners = new ArrayList<>();
}
Expand All @@ -428,14 +423,9 @@ public void addSwipeListener(SwipeListener listener) {
* 移除监听器
*/
public void removeSwipeListener(SwipeListener listener) {
if (listener == null) {
if (listener == null || mListeners == null) {
return;
}

if (mListeners == null) {
return;
}

mListeners.remove(listener);
}

Expand All @@ -450,13 +440,13 @@ public void computeScroll() {
private class DragCallBack extends ViewDragHelper.Callback {

@Override
public boolean tryCaptureView(View child, int pointerId) {
public boolean tryCaptureView(@NonNull View child, int pointerId) {
// menu和content都可以抓取,因为在menu的宽度为MatchParent的时候,是无法点击到content的
return child == getContentView() || mMenus.containsValue(child);
}

@Override
public int clampViewPositionHorizontal(View child, int left, int dx) {
public int clampViewPositionHorizontal(@NonNull View child, int left, int dx) {

// 如果child是内容, 那么可以左划或右划,开启或关闭菜单
if (child == getContentView()) {
Expand Down Expand Up @@ -497,13 +487,13 @@ else if (isRightMenu()) {
}

@Override
public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {
public void onViewPositionChanged(@NonNull View changedView, int left, int top, int dx, int dy) {
super.onViewPositionChanged(changedView, left, top, dx, dy);
updateMenu();
}

@Override
public void onViewReleased(View releasedChild, float xvel, float yvel) {
public void onViewReleased(@NonNull View releasedChild, float xvel, float yvel) {
Log.e(TAG, "onViewReleased: " + xvel + " ,releasedChild = " + releasedChild);
if (isLeftMenu()) {
if (xvel > mVelocity) {
Expand Down

0 comments on commit 6813142

Please sign in to comment.