欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android側(cè)滑菜單和輪播圖之滑動沖突問題

接手一個項目,有一個問題需要修改:輪播圖不能手動滑動,手動滑動輪播圖只會觸發(fā)側(cè)滑菜單。

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計,肥城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:肥城等地區(qū)。肥城做網(wǎng)站價格咨詢:18982081108

猜測:viewpager控件(輪播圖)的觸摸事件被SlidingMenu控件(側(cè)滑菜單,非第三方項目,乃是上個開發(fā)人員自定義的)攔截了。

基于這個猜測,我自定義一個ViewPager,重寫dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent,分別在這三個方法中打印log;

重寫SlidingMenu的dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent,同樣打印log。

重新編譯運行,手滑輪播圖,log如下:

06-08 09:52:08.394 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:0
06-08 09:52:08.395 19424-19424/com.parkingmore E/SlidingMenu: onInterceptTouchEvent ev:0
06-08 09:52:08.395 19424-19424/com.parkingmore E/RollViewPager: dispatchTouchEvent ev:0
06-08 09:52:08.395 19424-19424/com.parkingmore E/RollViewPager: onInterceptTouchEvent ev:0
06-08 09:52:08.441 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.441 19424-19424/com.parkingmore E/SlidingMenu: onInterceptTouchEvent ev:2
06-08 09:52:08.442 19424-19424/com.parkingmore E/SlidingMenu: ACTION_MOVE dx:15.473999
06-08 09:52:08.442 19424-19424/com.parkingmore E/RollViewPager: ACTION_MOVE getCurrentItem():1
06-08 09:52:08.442 19424-19424/com.parkingmore E/RollViewPager: dispatchTouchEvent ev:2
06-08 09:52:08.442 19424-19424/com.parkingmore E/RollViewPager: onInterceptTouchEvent ev:2
06-08 09:52:08.459 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.459 19424-19424/com.parkingmore E/SlidingMenu: onInterceptTouchEvent ev:2
06-08 09:52:08.459 19424-19424/com.parkingmore E/RollViewPager: dispatchTouchEvent ev:3
06-08 09:52:08.459 19424-19424/com.parkingmore E/RollViewPager: onInterceptTouchEvent ev:3
06-08 09:52:08.477 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.477 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.495 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.495 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.515 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.515 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.533 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.533 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.551 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.551 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.574 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.574 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.594 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.595 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.611 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.612 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.622 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:2
06-08 09:52:08.622 19424-19424/com.parkingmore E/SlidingMenu: onTouchEvent ev:2
06-08 09:52:08.623 19424-19424/com.parkingmore E/SlidingMenu: dispatchTouchEvent ev:1

從log中可以看出,該開始,還能將滑動事件傳遞給ViewPager,之后,就被SlidingMenu攔截了。這個log證實了這個猜想是正確的。

知道了原因就好解決了,我現(xiàn)在要考慮的是:要達到什么樣的效果。

預(yù)期效果:可以正?;瑒虞啿D,當輪播圖在第一張時,可以滑到側(cè)滑菜單。

網(wǎng)上有人分享過類似的問題。我這里也借鑒了一下。

先來實現(xiàn)第一個功能:可以正?;瑒虞啿D。

可以設(shè)一個全局變量:public static boolean mRollViewPagerTouching;

用來表示是否在觸摸輪播圖。

在自定義ViewPager中,判斷是否在觸摸輪播圖

public boolean dispatchTouchEvent(MotionEvent ev) {
    switch (ev.getAction()) {
      case MotionEvent.ACTION_MOVE:
        break;
      case MotionEvent.ACTION_DOWN:
        MyApplication.mRollViewPagerTouching = true;
        break;
      case MotionEvent.ACTION_UP:
        MyApplication.mRollViewPagerTouching = false;
        break;
    }
    return super.dispatchTouchEvent(ev);
  }

在SlidingMenu中,做出如下處理

public boolean onInterceptTouchEvent(MotionEvent ev) {
    if (MyApplication.mRollViewPagerTouching){
      return false;
    }
    return super.onInterceptTouchEvent(ev);
  }

重新編譯運行,可以正?;瑒虞啿D,但是當輪播圖在第一張時,不能滑到側(cè)滑菜單。

現(xiàn)在來做第二個功能:當輪播圖在第一張時,可以滑到側(cè)滑菜單。

這里有兩個地方要注意:1.當輪播圖在第一張時;2.由于我的側(cè)滑菜單是在左邊,需要手指向右滑動進入側(cè)滑菜單,所以,第二個條件,應(yīng)該是右滑。

在以上的基礎(chǔ)上,修改自定義ViewPager代碼

public boolean dispatchTouchEvent(MotionEvent ev) {
    //在觸發(fā)時回去到起始坐標
    float x = ev.getX();
    switch (ev.getAction()) {
      case MotionEvent.ACTION_MOVE:
        //獲取到距離差
        float dx = x - downX;
        //防止是按下也判斷
        if (Math.abs(dx) > 8) {
          //通過距離差判斷方向
          if (dx > 0) {
            //                "右";
            if (getCurrentItem() == 0) {
              MyApplication.mRollViewPagerTouching = false;
            } else {
              MyApplication.mRollViewPagerTouching = true;
            }
          } else {
            //                "左";
            MyApplication.mRollViewPagerTouching = true;
          }
        }
        break;
      case MotionEvent.ACTION_DOWN:
        //將按下時的坐標存儲
        downX = x;
        MyApplication.mRollViewPagerTouching = true;
        break;
      case MotionEvent.ACTION_UP:
        MyApplication.mRollViewPagerTouching = false;
        break;
    }
    return super.dispatchTouchEvent(ev);
  }

再次編譯運行,成功達到預(yù)期效果。

當前題目:Android側(cè)滑菜單和輪播圖之滑動沖突問題
URL網(wǎng)址:http://aaarwkj.com/article42/ispgec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站設(shè)計公司、Google服務(wù)器托管、動態(tài)網(wǎng)站App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
欧美日韩一区中文字幕 | 日本人妻在线一区二区三区| 亚洲av成人在线资源| 伊人不卡中文字幕在线一区| 五月开心婷婷中文字幕| 欧美视频免费一级黄片| 国产三级精品正在播放| 九九热久久这里全是精品| 日本不卡一区二区三区四| 国产精品岛国片在线观看| 精品啪啪高潮一区二区| 精品人妻一区二区三区久久91| 日本免费一区二区三个| 麻豆视频国产一区二区| 国产福利成人一区二区| 国产日韩欧美亚洲中文国| 久久综激情丁香开心婷婷| 国产三级精品电影久久| 国产精品美女丝袜久久久| 欧美日韩亚洲精品三级| 国产一区二区三区区别| 日本亚洲欧美男人的天堂| 人妻有码av中文字幕久久| 亚洲国产成人久久综合区| 亚洲精品黄色在线观看| 精品国产一区二区三区精品日韩| 国产传媒网站在线观看| 宅男午夜一区二区三区| 国产不卡的视频在线观看| 亚洲区一区二区三区精品| 欧美中文字幕精在线不卡| 日本黄色av一区二区| 白虎亚洲福利精品一区| 久久婷婷欧美激情综合| 加藤桃香中文字幕在线| 久久热在线视频精品视频| 久久99久久久久久精品| 中日韩一二三四区在线看| 免费观看毛片一区二区三区| 尹人大香蕉在线视频| 精品久久一区麻豆香蕉|