动态设置ViewPager允许/禁止滑动
来源:互联网 发布:rails application.js 编辑:程序博客网 时间:2024/04/27 16:31
第一:自定义MyViewPager来继承ViewPager;
第二:重写OnTouchEvent方法;
第三:重写scrollTo方法;
public class MyViewPager extends ViewPager {
//定义一个布尔变量来控制是否允许滑动,该变量的set方法就直接决定了该viewpager是否可以滑动
private boolean isCanScroll = true;
private Context context;
public MyViewPager(Context context) { super(context); this.context = context;}public MyViewPager(Context context, AttributeSet attrs) { super(context, attrs); this.context = context;}@Overridepublic boolean onTouchEvent(MotionEvent ev) { if (isCanScroll) { //允许滑动则应该调用父类的方法 return super.onTouchEvent(ev); } else { //禁止滑动则不做任何操作,直接返回true即可 Toast.makeText(context,"what are you 弄啥嘞?",Toast.LENGTH_SHORT).show(); return true; }}@Overridepublic void scrollTo(int x, int y) { /** *必须这样重写,否则会出现画面"一半,一半"的现象,根据Debug来分析可能是虽然onTouchEvent方法返回了true *但是依然在返回true前,viewpager开始调用了scrollTo方法,导致画面"拖出来一点" */ if (isCanScroll) { //只有允许滑动的时候才调用滑动的方法 super.scrollTo(x, y); }}//设置是否允许滑动,true是可以滑动,false是禁止滑动public void setIsCanScroll(boolean isCanScroll) { this.isCanScroll = isCanScroll;}
}
第四:使用
第四:使用
button.setOnClickListener(new OnClickListener()){
public void onClick(View v){
if(true){
// textview.setVisibility(View.GONE); 这个控件完全覆盖indicator,通过它来变相控制indicator的点击事件
myViewpager.setIsCanScroll(true)
}else{
// textview.setVisibility(View.VISIBLE);
myViewpager.setIsCanScroll(false)
}
}
}
0 0
- 动态设置ViewPager允许/禁止滑动
- 设置ViewPager禁止滑动
- ViewPager禁止滑动翻页
- 禁止ViewPager滑动方法
- ViewPager禁止滑动
- ViewPager禁止滑动翻页
- ViewPager禁止滑动翻页
- 禁止ViewPager左右滑动
- ViewPager禁止手动滑动
- 禁止viewpager滑动
- android 禁止ViewPager滑动
- 禁止ViewPager左右滑动
- viewpager禁止滑动
- ViewPager禁止左右滑动
- 禁止滑动的ViewPager
- 禁止ViewPager向右滑动
- ViewPager禁止左右滑动
- 禁止ViewPager左右滑动
- javascript继承机制综述
- 基于协同过滤的推荐引擎
- nginx lvs
- mysql学习书籍
- MFC截获键盘输入值
- 动态设置ViewPager允许/禁止滑动
- Xcode制作Bundle文件很简单
- Objective-C @encode关键字
- 错误: 需要class, interface或enum
- JAVA数据结构---二叉树入门
- 中缀表达式转后缀表达式的方法
- 从拨号音分析拨号号码
- view事件分发机制
- Quartz SimpleTrigger Demo