前言
项目中需要用ViewPager+Fragment组合使用,比如很见的就是图片暂时。每个客户需求不一样,有些需要左右滑动,有序不需要,因此需要禁止左右滑动切换界面。
本文代码是摘的,也验证OK,感谢分享。
正文
直接上代码,要介绍的可以看摘抄的文章。
public class NoScrollViewPager extends ViewPager { //默认禁止左右滚动和滚动动画 private boolean mCanScroll = false; private boolean mHasScrollAnim = false; public NoScrollViewPager(Context context) { super(context); } public NoScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); } /** * 设置其是否能滑动 * * @param canScroll false 禁止滑动, true 可以滑动 */ public void setCanScroll(boolean canScroll) { mCanScroll = canScroll; } /** * 设置是否去除滑动效果 * * @param hasScrollAnim false 去除滚动效果, true 不去除 */ public void setHasScrollAnim(boolean hasScrollAnim) { mHasScrollAnim = hasScrollAnim; } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return mCanScroll && super.onInterceptTouchEvent(ev); } @SuppressLint("ClickableViewAccessibility") @Override public boolean onTouchEvent(MotionEvent ev) { return mCanScroll && super.onTouchEvent(ev); } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); } /** * 设置其是否去求切换时的滚动动画 * mHasScrollAnim为false时,会去除滚动效果 */ @Override public void setCurrentItem(int item) { super.setCurrentItem(item, mHasScrollAnim); } }
参考文章
-
《
历史上的今天
暂无评论...
随机推荐
再见,老何
屋子里灯光照耀,屋子外烟雾缭绕。烟灰最终承受不住自身的重量掉落下来。整个夏夜像被人按上了静音键,只有无声的等待。我在屋里,父亲在屋外。日子被日历一页页撕开,而今天是最后一页。我像往常一样追赶着太阳去学校,仿佛我们就代表着初升的朝阳。阳光透过树叶小心翼翼的洒在课桌上,连它都看出来了分别的气息,笔尖划...
[备忘录]&&和&,||和|的区别
今天有点尴尬,把||跟&&同样有短路作用的搞乱了。备忘一下。java当中的逻辑运算符,&&(短路与)和&表示逻辑与,||(短路或)和|表示逻辑或一、&&和&&&和&都可以表示逻辑与,但他们是有区别的,共同...
framework中添加自己的aidl
前言简单记录一下在Framework中新增一个服务接口,方便应用调用,类似于获取AudioManager一样。AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);Android...
杨绛:人生有命
神明的大自然,对每个人都平等。不论贫富尊卑、上智下愚,都有灵魂,都有个性,都有人性。但是每个人的出身、遭遇和天赋的资质才能,却远不平等。有富贵的、有贫贱的,有天才、有低能,有美人、有丑八怪。凭什么呢?人各有“命”。“命”是全不讲理的。孔子曾慨叹:“命矣夫!斯人也而有斯疾也!斯人也而有斯疾也!”(《论...
Android Switch简介
前言Android中的Switch控件很使用,比如WiFi开关等。Switch可以提供切图,也可以自定义属性。本文就是主要介绍自定义。记录一下,方便自己查阅和回顾。正文activity_main.xml<Switch style="@style/Widget.AppComp...
adb shell命令控制WIFI连接开启/关闭状态
1、确保机器已经root,使用adb root 试试此命令如果返回如下,就表示不能rootadb: unable to connect for root: no devices/emulators found在上面root后,可以执行如下命令开关WiFi2、打开WIFI指令adb shel...