国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

ViewPager和SlidingPaneLayout的滑動事件沖突解決方法

2019-10-22 18:17:58
字體:
來源:轉載
供稿:網友

問題描述:

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的滑動事件沖突解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北宁市| 平昌县| 衢州市| 宿州市| 莒南县| 高陵县| 翼城县| 南安市| 兴文县| 蓝山县| 个旧市| 吴忠市| 盐源县| 吉水县| 新绛县| 安国市| 荥经县| 青浦区| 巴青县| 寿阳县| 榕江县| 阜新| 淮南市| 孟津县| 海宁市| 灌南县| 锡林浩特市| 新兴县| 偃师市| 东阿县| 大丰市| 大足县| 双峰县| 泽库县| 宁德市| 剑河县| 衡水市| 平泉县| 浦城县| 图木舒克市| 会泽县|