1. 程式人生 > >ViewPager巢狀ViewPager滑動問題的解決

ViewPager巢狀ViewPager滑動問題的解決

原因:外層的ViewPager攔截了觸屏事件,所以只能滑動外層的ViewPager

解決方法:在裡層的ViePager設定監聽器,讓外層的ViewPager不攔截,這樣就可以滑動裡層的ViewPager了

程式碼如下:

vp.setOnTouchListener(new OnTouchListener() {

  public boolean onTouch(View v, MotionEvent event) {
   //如果觸屏事件在裡層的ViewPager上 (外層的ViewPager可能不僅僅包含裡層的ViewPager,還有其他的控制元件 外層的ViewPager較大),不讓外層ViewPager攔截
   if (event.getAction() == MotionEvent.ACTION_UP) {
     vp.requestDisallowInterceptTouchEvent(false);
   }
   //否則讓外層ViewPager攔截
   else {
     vp.requestDisallowInterceptTouchEvent(true);
   }
     return false;
  }
});



     理解的不算太好,解釋的若有瑕疵的話還請多多包涵,敬請指正!
            多多評論,謝謝觀賞!

相關推薦

ViewPagerViewPager滑動問題的解決

原因:外層的ViewPager攔截了觸屏事件,所以只能滑動外層的ViewPager 解決方法:在裡層的ViePager設定監聽器,讓外層的ViewPager不攔截,這樣就可以滑動裡層的ViewPage

ScrollView ViewPager導致滑動衝突解決方案

開發是遇到類似淘寶產品介紹的介面 存在srollView也ViewPager滑動衝突的問題,使用者體驗不好。 於是對srollView做了自定義控制元件,解決了該問題,處理思想:如果滑動左右滑動大於

Android ViewpagerViewpager滑動衝突。

場景:tablayout繫結viewpager,viewpager巢狀fragement,其中一個fragment中嵌套了一個子viewpager,導致不能正常滑動。 解決方法: 重寫viewpager的canScroll()方法。 @Override protected bo

關於viewPagerviewPager,切換上層fragment內層fragment不顯示的問題

最近遇到個問題,兩個viewPager巢狀,切換外層的Fragment的時候,內層的fragment不顯示內容, 解決方法: 設定第二個viewPager的adapter時,FragmentManager應使用getChildFragmentManager,例:

解決Fragment裡ViewPager滑動卡頓的問題

一、先來看一下ViewPager左右滑動正常情況: 如下圖所示,Activity 裡有一個ViewPager,ViewPager左右滑動的時候切換“我申請上”和“我受邀上”兩個Fragment 程式碼如下: 二、再來看一下ViewPager左右滑動卡頓的情況: 如

ScrollViewViewPager,導致滑動不暢,以及不顯示的解決辦法

自定義ScrollView public class MyScrollView extends ScrollView { private GestureDetector mGestureDetector; public MySc

解決ScrollView或者listviewViewPager 時候 Pager左右滑動不流暢

pager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {

解決ScrollViewviewPagerlistView滑動事件衝突問題(水平方向)

我們在開發中經常會碰到view滑動衝突的情況。滑動衝突的解決辦法就兩種:1.外部攔截法:是指在點選事件先經過父容器的攔截處理,如果父容器需要處理此事件就進行攔截,如果不需要此事件就不攔截,這樣就可以解決滑動衝突的問題,外部攔截法需要重寫父容器的onInterceptTouch

HorizontalScrollView 中 viewpager滑動衝突的解決

在 HorizontalScrollView 中巢狀 viewpager,viewpager不會隨手勢滑動,所以要複寫viewpager public class MyViewpager extends ViewPager { MyViewpager viewpage

android-Ultra-Pull-To-Refresh/SwipeRefreshLayoutViewPager/ScrollView滑動衝突解決

前戲   每次必不可少的前戲又來了。發文時Android-PullToRefresh這個框架已經停止維護3年了,很多人在關心我們現在用什麼框架好,這裡給大家推薦兩個。一個是可愛可親起可恨的Google官方v4包自帶的SwipeRefreshLa

解決SwipeRefreshLayout內ViewPager,造成的滑動衝突

提出問題:在SwipeRefreshLayout內巢狀ViewPager時,會造成ViewPager滑動時不靈敏或觸發SwipeRefreshLayout的下拉重新整理事件。 解決思路:在ViewPager滑動時禁止SwipeRefreshLayout滑動,ViewPage

ScrollViewViewPager引起的滑動衝突的解決方案

導讀:ScrollView巢狀ViewPager引起的滑動衝突,原因是S從rollView和ViewPager都有滑動的效果,當我們發生滑動這個動作時,系統不知道 要交給那個控制元件來處理滑動操作,故出現了衝突。 知道了原理,我們要做的就是 1.給最先捕獲事件的View一些

Android開發-ViewPagerFragment卡頓解決Viewpager滑動重複載入Fragment延遲載入

Fragment大家肯定不會陌生的,幾乎每個App裡都有它的存在,作為Google在3.0以後引入的一個概念,極大的解決了Activity(或者說手機螢幕)的侷限性,讓Activity碎片化,正如它的原意 【分段】,【碎片】一樣讓一個螢幕中的activity展示

解決ViewPager與GridView滑動不流暢和高度無法自適應

最近產品提了一個需求,要求把首頁的導航按鈕改成和美團類似的可翻頁的GridView。 乍一看,這不就是ViewPager巢狀兩個GridView嗎,簡單簡單。簡單的答應後,我就掉進了控制元件巢狀的大坑中。 簡單的寫好程式碼後,滿心歡喜的執行程式,咦???我的ViewPa

ScrollView ViewPager滑動衝突解決

這篇部落格主要講解一下幾個問題粗略地介紹一下View的事件分發機制解決事件滑動衝突的思路及方法ScrollView 裡面巢狀ViewPager導致的滑動衝突ViewPager裡面巢狀ViewPager 導致的滑動衝突輪播圖的幾種實現方式先看一下效果圖ScrollView裡面巢

懸浮佈局的最差實現方式,懸浮頭部實現,viewpager滑動

給部分程式碼看個大概實現,繼承 linearLayout,自己處理滑動,自己計運算元佈局中第一個佈局為摺疊部分。 其實,用scrollview,將listview以及懸浮部分高度設定為螢幕高度,效果直接,省事,滑動體驗更好。巢狀佈局也沒有滑動衝突 public class Scrollabl

fragment中 ScrollView 同時viewpager banner和 listview, scrollview 滑動異常·

fragment中 ScrollView                      同時巢狀viewpager banner和        &nbs

Android---SwipeRefreshLayoutViewPager時的滑動衝突

SwipeRefreshLayout巢狀ViewPager 最近在專案中用到了SwipeRefreshLayout控制元件,以實現下拉重新整理,在我的SwipeRefreshLayout佈局中存在一個ViewPager。那麼問題就出現了,當我對ViewPager

RecyclerViewViewPagerRecyclerView滑動問題

RecyclerView頭部巢狀ViewPager,ViewPager內放Fragment,Fragment再放RecyclerView時,其實就是RecyclerView巢狀Viewpager再巢狀RecyclerView,這個時候滑動外面的RecyclerView的時候,

fragment中viewpager,vierpager中有多個fragment,不顯示而且滑動卡頓

現在好多應用流行一種佈局。底部幾個工具欄選項,上面也有類似tab的選項。 底部用RadioGroup控制fragment的切換。以上有五個fragment。 第一個fragment,代表著首頁。首頁又是一個類似tab的fragment,使用viewpager切換著兩個fragment。  priv