viewpager在禁止滑动之后仍可滑动部分页面的bug兼自适应的做法
2016-11-06 14:24
363 查看
package com.yourdream.app.android.utils; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; /** * 滑动页面工具类 * * Created byLiuhulai on 2016/10/21. */ public class ViewPagerUtil extends ViewPager { private boolean scrollble = true; //是否可滑动 public ViewPagerUtil(Context context) { super(context); } public ViewPagerUtil(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent ev) { if (!scrollble) { return true; } return super.onTouchEvent(ev); } @Override public void scrollTo(int x, int y) { if(!scrollble) { super.scrollTo(x, y); } else { super.scrollTo(0, 0); } } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (scrollble) return false; else return super.onInterceptTouchEvent(arg0); } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item); } public boolean isScrollble() { return scrollble; } /** * 外部接口控制页面的滑动 * @param scrollble */ public void setScrollble(boolean scrollble) { this.scrollble = scrollble; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)<span style="white-space:pre"> </span>//自适应 { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int childSize = getChildCount(); int maxHeight = 0; for (int i = 0; i < childSize; i++) { View child = getChildAt(i); child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); if (child.getMeasuredHeight() > maxHeight) { maxHeight = child.getMeasuredHeight(); } } if (maxHeight > 0) { setMeasuredDimension(getMeasuredWidth(), maxHeight); } } }
相关文章推荐
- 去除ViewPager页面切换动画和禁止滑动
- 关于ViewPager禁止滑动和页面切换问题-笔记
- viewpager在最后一页滑动之后,跳转到主页面
- Android解决ViewPager页面滑动空白bug和图片点击bug
- ViewPager禁止滑动,设置页片间距,设置当前显示的页面,缓存个数,以及解决嵌套ViewPager左右滑动冲突问题
- Android viewpager在最后一页滑动之后跳转到主页面的实例代码
- ViewPager在最后一页滑动之后,跳转到主页面
- Android解决ViewPager页面滑动空白bug和图片点击bug
- Android ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果
- ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果
- android viewpager 滑动分页以及禁止划屏 (模拟新浪)
- Android中用ViewPager实现多页面滑动切换及动画效果的实例
- Android ViewPager多页面滑动切换以及动画效果
- ViewPager多页面滑动切换以及动画效果 (转载)
- Android ViewPager 实现多个页面切换滑动
- [Android实例] ViewPager多页面滑动切换以及动画效果
- [转载]Android ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果