<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      Android滑動沖突解決

      (1).場景一:外部滑動方向跟內部滑動方向不一致,比如外部左右滑動,內部上下滑動
         ViewPager+Fragment配合使用,會有滑動沖突,但是ViewPager內部處理了這種滑動沖突
         如果采用的不是ViewPager而是ScrollView就必須手動處理滑動事件   
          
         上下滑動時,需要上一級view把消息傳遞進行,因此上一級view的onInterceptTouchEvent方法
      return false;左右滑動時需要上一級view執行它的onTouchEvent方法,因此它的onInterceptTouchEvent
      方法應該return true;
        
      代碼如下:
         public boolean onInterceptTouchEvent(MotionEvent ev) {
              // TODO Auto-generated method stub
            boolean result=false;
            switch(ev.getAction()){
              case MotionEvent.ACTION_DOWN:
                //getX()表示以該控件的左上角為0點
                //getRawX()表示以屏幕的左上角為0點
                  firstX=(int) ev.getX();
                  firstY=(int) ev.getY();
                  break;
              case MotionEvent.ACTION_MOVE:
                  //手指在屏幕上水平移動的絕對值
                  int disX=(int) Math.abs(ev.getX()-firstX);
                  //手指在屏幕上豎直移動的絕對值
                  int disY=(int) Math.abs(ev.getY()-firstY);
                  if(disX>disY&&disX>10){
                      result=true;
                  }
                  break;
                case MotionEvent.ACTION_UP:
                  break;
             }
               return result;
          }  
      (2).場景二:外部滑動方向跟內部滑動方向一致,內外兩層同時上下或者左右滑動
          根據業務需求來判斷
         
      (3).場景三:上面兩種場景的嵌套
       
      (4).滑動沖突的解決方式: 
           a.外部解決法:父容器對事件判斷是否攔截
           b.內部解決法:父容器不攔截任何事件,任何的事件都傳遞給子元素,如果子元素需要此事件就消耗掉,否則就由父容器進行處理。
         對于底層的View來說,有一種方法可以阻止父層的View截獲touch事件,就是調用getParent().requestDisallowInterceptTouchEvent(true);
         方法。一旦底層View收到touch的action后調用這個方法那么父層View就不會再調用onInterceptTouchEvent了,也無法截獲以后的action。
         
         public boolean dispatchTouchEvent(MotionEvent event){
           switch(event.getAction()){
            case MotionEvent.ACTION_DOWN:
                //父控件就不會攔截ListView的滑動事件
                parent.requestDisallowInterceptTouchEvent(true);
                break;
            case MOtionEvent.ACTION_MOVE:
               if(父容器需要此類點擊事件){
                 parent.requestDisallowInterceptTouchEvent(false);
               }
               break;
            } 
            return super.dispatchTouchEvent(event);
         }

      posted on 2018-07-27 11:42  安卓筆記俠  閱讀(1260)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 龙江县| 一本大道无码av天堂| 利辛县| 日韩有码中文在线观看| 中文字幕日韩有码av| 国产综合精品一区二区三区| 亚洲精品国产自在现线最新| 麻豆精品一区二区三区蜜桃 | 免费一级黄色好看的国产| 欧美一区二区三区在线观看| 日韩人妻无码一区二区三区99 | 熟女系列丰满熟妇AV| 伊人久久大香线蕉网av| 国产AV老师黑色丝袜美腿| 特克斯县| 视频免费完整版在线播放| 国产福利社区一区二区| 水蜜桃av导航| 亚洲黄色一级片在线观看| 亚洲小说乱欧美另类| 女人裸体性做爰视频| 国产在线一区二区在线视频| 中文字幕理伦午夜福利片| 久久久无码精品午夜| 白白发布视频一区二区视频| 麻豆国产成人AV在线播放| 十八禁在线观看视频播放免费| 色欲av亚洲一区无码少妇| 婷婷四房播播| 国产狂喷潮在线观看| 国产成人欧美一区二区三区在线 | 久久精品国产久精国产69| 国产国产午夜福利视频| 久久亚洲色www成人| 亚洲av无码专区在线亚| 国产免费一区二区三区在线观看 | 中文字幕亚洲日韩无线码| 亚洲男人AV天堂午夜在| 国产精品无码不卡在线播放| 婷婷综合久久中文字幕| 麻豆国产成人AV在线播放|