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

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一区二区| 国产91一区二区三区在线精品 | 99热在线播放精品观看| 强乱人妻中文字幕日本| 日韩欧美一区二区福利视频| 91欧美日韩精品在线| 国产日产亚洲综合一区| 亚洲国产自拍精品视频| 在线观看不卡的黄色地址 | 国产综合中文字幕不卡| 丰满熟妇久久人妻同堂av| 另类激情综合在线观看| 未满18禁止入内在线观看| 欧美乱码中文字幕在线观看| 国模在线视频一区二区| 午夜福利视频在线观看| 亚洲码欧洲码一二三区| 亚洲av毛片在线免费| 日韩三级成人在线视频 | 国产一级二级三级黄色| 日本韩国三级伦理在线观看| 国产亚洲欧美另类网爆| 国产亚洲精品免费专线视频| 美女高潮啪啪啪91| 18以下的人禁止看的视频| 国产伦奸在线播放免费| 麻豆乱淫一区二区三爱免费|