android微信右滑删除,Android实现微信侧滑删除当前页面

7

android微信右滑删除,Android实现微信侧滑删除当前页面

Android实现微信侧滑删除当前页面的功能,可以通过自定义ViewGroup实现。在这个ViewGroup中,我们可以监听手势事件,根据手势的滑动距离来实现页面的滑动效果。下面我将详细介绍如何实现这个功能。

首先,我们需要创建一个自定义的ViewGroup,继承自FrameLayout。在这个ViewGroup中,我们需要实现onInterceptTouchEvent()和onTouchEvent()方法来监听手势事件。

```javapublic class SwipeLayout extends FrameLayout {

private float startX;

private float startY;

private float offsetX;

private float offsetY;

public SwipeLayout(@NonNull Context context) {

super(context);

}

public SwipeLayout(@NonNull Context context, @Nullable AttributeSet attrs) {

super(context, attrs);

}

public SwipeLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

@Override public boolean onInterceptTouchEvent(MotionEvent ev) {

switch (ev.getAction()) {

case MotionEvent.ACTION_DOWN:

startX = ev.getX();

startY = ev.getY();

break;

case MotionEvent.ACTION_MOVE:

offsetX = ev.getX() - startX;

offsetY = ev.getY() - startY;

if (Math.abs(offsetX) > Math.abs(offsetY)) {

return true;

}

break;

}

return super.onInterceptTouchEvent(ev);

}

@Override public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {

case MotionEvent.ACTION_MOVE:

offsetX = event.getX() - startX;

if (offsetX >0) {

setTranslationX(offsetX);

}

break;

case MotionEvent.ACTION_UP:

if (offsetX > getWidth() /3) {

// 执行删除操作 ((Activity) getContext()).finish();

} else {

// 恢复原来的位置 ObjectAnimator.ofFloat(this, "translationX", offsetX,0).start();

}

break;

}

return true;

}

}

```

在这个SwipeLayout中,我们监听了手势事件,当手指向右滑动时,我们将当前页面向右移动,直到达到一定距离时,执行finish()方法关闭当前页面。当手指向左滑动时,我们将页面恢复到原来的位置。

接下来,我们需要在布局文件中使用这个SwipeLayout来包裹我们的页面内容。

```xml

android:layout_height="match_parent">

```

最后,我们需要在Activity中设置这个SwipeLayout为ContentView。

```java@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

SwipeLayout swipeLayout = new SwipeLayout(this);

setContentView(swipeLayout);

}

```

通过以上步骤,我们就实现了类似微信的侧滑删除当前页面的功能。当用户向右滑动页面时,页面会跟随手指移动,当达到一定距离时,页面会自动关闭。这样就实现了一个简单的侧滑删除功能。

android微信右滑删除

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 适合苹果4s的微信版本_6.1.3装上微信了,新手看这里

下一篇 苹果手机左上角的数字怎么弄_微信朋友圈该好友已设置仅你可见怎么弄 设置仅你可见方法...