91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ViewPager和SlidingPaneLayout的滑動事件沖突怎么辦

發布時間:2021-06-26 11:42:21 來源:億速云 閱讀:155 作者:小新 欄目:移動開發

這篇文章主要為大家展示了“ViewPager和SlidingPaneLayout的滑動事件沖突怎么辦”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“ViewPager和SlidingPaneLayout的滑動事件沖突怎么辦”這篇文章吧。

問題描述:

ViewPager和SlidingPaneLayout的滑動事件沖突。

問題分析:

在手指左右滑動時,SlidingPaneLayout會屏蔽ViewPager的滑動事件。

解決辦法:

自定義SlidingPaneLayout類

import android.content.Context;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.widget.SlidingPaneLayout;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.ViewConfiguration;

public class PagerEnabledSlidingPaneLayout extends SlidingPaneLayout {

  private float mInitialMotionX;
  private float mInitialMotionY;
  private float mEdgeSlop;

  public PagerEnabledSlidingPaneLayout(Context context) {
    this(context, null);
  }

public PagerEnabledSlidingPaneLayout(Context context, 
AttributeSet attrs) {
    this(context, attrs, 0);
  }

public PagerEnabledSlidingPaneLayout(Context context, 
AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);

    ViewConfiguration config = ViewConfiguration.get(context);
    mEdgeSlop = config.getScaledEdgeSlop();
  }

  @Override
  public boolean onInterceptTouchEvent(MotionEvent ev) {

    switch (MotionEventCompat.getActionMasked(ev)) {
      case MotionEvent.ACTION_DOWN: {
        mInitialMotionX = ev.getX();
        mInitialMotionY = ev.getY();
        break;
      }

      case MotionEvent.ACTION_MOVE: {
        final float x = ev.getX();
        final float y = ev.getY();
        if (mInitialMotionX > mEdgeSlop && !isOpen() && canScroll(this, false,
            Math.round(x - mInitialMotionX), Math.round(x), Math.round(y))) { 
          MotionEvent cancelEvent = MotionEvent.obtain(ev);
          cancelEvent.setAction(MotionEvent.ACTION_CANCEL);
          return super.onInterceptTouchEvent(cancelEvent);
        }
      }
    }
    return super.onInterceptTouchEvent(ev);
  }
}

以上是“ViewPager和SlidingPaneLayout的滑動事件沖突怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵定县| 开封市| 手游| 郑州市| 西乡县| 尼勒克县| 高平市| 安吉县| 抚顺县| 普洱| 永春县| 灵川县| 沧源| 岱山县| 石屏县| 沁源县| 汝州市| 新和县| 宁阳县| 平武县| 永登县| 广州市| 大渡口区| 江口县| 调兵山市| 勃利县| 平泉县| 容城县| 南投市| 奈曼旗| 广平县| 禄丰县| 离岛区| 资阳市| 宿州市| 同德县| 德阳市| 大竹县| 苏尼特右旗| 泰安市| 锦州市|