日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android禁止ViewPager的左右滑动

發布時間:2025/4/16 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android禁止ViewPager的左右滑动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?轉載請注明出處:http://blog.csdn.net/allen315410/article/details/40744287

? ? ? ?有時候在開發中會遇到一些“詭異”的要求,比方在ViewPager中嵌入ListView,或者再嵌入一個ViewPager。那么在滑動的時候就會造成被嵌入的XXView不能滑動了。那么如今就把最外層的ViewPager禁止滑動吧,讓被嵌入的XXView獲得滑動事件好了。關于解決方法,網上也有非常多說法,基本上是一致的,可是須要理解這個Android下的事件分發機制才行。不明確事件分發機制的。上網查些資料看看,然后我這里也有簡單的介紹。請參看博客Android自己定義控件——側滑菜單的下方。

? ? ? ?如何禁止ViewPager左右滑動呢?大致就是重寫ViewPager,覆蓋ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法。這兩個方法的返回值都是boolean類型的,僅僅須要將返回值改為false。那么ViewPager就不會消耗掉手指滑動的事件了,轉而傳遞給上層View去處理或者該事件就直接終止了。

以下是我的自己定義ViewPager。

public class NoScrollViewPager extends ViewPager {private boolean noScroll = false;public NoScrollViewPager(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public NoScrollViewPager(Context context) {super(context);}public void setNoScroll(boolean noScroll) {this.noScroll = noScroll;}@Overridepublic void scrollTo(int x, int y) {super.scrollTo(x, y);}@Overridepublic boolean onTouchEvent(MotionEvent arg0) {/* return false;//super.onTouchEvent(arg0); */if (noScroll)return false;elsereturn super.onTouchEvent(arg0);}@Overridepublic boolean onInterceptTouchEvent(MotionEvent arg0) {if (noScroll)return false;elsereturn super.onInterceptTouchEvent(arg0);}@Overridepublic void setCurrentItem(int item, boolean smoothScroll) {super.setCurrentItem(item, smoothScroll);}@Overridepublic void setCurrentItem(int item) {super.setCurrentItem(item);}} ? ? ? ?以上代碼特別簡單,大家能夠直接拷貝使用。無需做不論什么改動。為了操作方便。我在這個自己定義的ViewPager里設置了一個boolean類型的控制變量,而且向外提供了控制ViewPager是否禁止滑動的方法。這樣就顯得靈活一點了。下面是自己定義ViewPager在布局文件里的定義。

<com.example.studydemo.view.NoScrollViewPagerandroid:id="@+id/pager"android:layout_width="fill_parent"android:layout_height="0dp"android:layout_marginTop="5dp"android:layout_weight="1" />? ? ? ?好吧,這個特別簡單,不用再過多的介紹了。代碼能夠直接拷貝來使用。布局或者數據適配器PagerAdapter都是跟使用ViewPager時是一模一樣的。

好了,假設大家有什么更好的提議。能夠在下方留言。我非常樂意跟大家共同學習共同進步!



轉載于:https://www.cnblogs.com/llguanli/p/7057661.html

總結

以上是生活随笔為你收集整理的Android禁止ViewPager的左右滑动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。