private void initViewPager(AttributeSet attrs, int defStyleAttr) { super.setOnPageChangeListener(internalOnPageChangeListener); final ViewConfiguration configuration = ViewConfiguration.get(getContext()); mTouchSlop = configuration.getScaledTouchSlop(); TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.ViewPager, defStyleAttr, R.style.carbon_ViewPager); for (int i = 0; i < a.getIndexCount(); i++) { int attr = a.getIndex(i); if (attr == R.styleable.ViewPager_carbon_overScroll) { setOverScrollMode(a.getInt(attr, OVER_SCROLL_ALWAYS)); } } Carbon.initTint(this, a, tintIds); a.recycle(); setWillNotDraw(false); }
public static ViewPagerHelper addSelectPos(final ViewPager vp, final SelectPosCallback callback) { final ViewPagerHelper vpHelper = new ViewPagerHelper(); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(final int position, float positionOffset, int positionOffsetPixels) { if (vpHelper.state == -1&&callback!=null) callback.selected(vp.getCurrentItem()); vpHelper.log("onPageScrolled:" + position + "\t positionOffset:" + positionOffset + "\t positionOffsetPixels:" + positionOffsetPixels); } @Override public void onPageSelected(int position) { vpHelper.log("onPageSelected:" + position); callback.selected(position); } @Override public void onPageScrollStateChanged(int state) { vpHelper.log("state:" + state); vpHelper.state = state; } }); return vpHelper; }
viewpagerItem.setOverScrollMode(View.OVER_SCROLL_NEVER); viewpagerItem.setOffscreenPageLimit(1);//预加载数据页 viewpagerItem.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {