android.support.v4.view.ViewPager#addOnPageChangeListener ( )源码实例Demo

下面列出了android.support.v4.view.ViewPager#addOnPageChangeListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ChangeTabLayout   文件: PageFragment.java
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    ViewPager mViewPager = (ViewPager) view.findViewById(R.id.vp);
    FragmentPagerItems pages = new FragmentPagerItems(getActivity());
    final int page = FragmentPagerItem.getPosition(getArguments());

    for (int i = 0; i < 5; i++) {
        Bundle bundle = new Bundle();
        bundle.putInt("page", page);
        bundle.putInt("position", i);
        pages.add(FragmentPagerItem.of(String.valueOf(i), DemoFragment.class, bundle));
    }
    FragmentPagerItemAdapter adapter = new FragmentPagerItemAdapter(getChildFragmentManager(), pages); //Fragment嵌套Fragment时,要用getChildFragmentManager
    mViewPager.setAdapter(adapter);
    mViewPager.setOffscreenPageLimit(2);
    mViewPager.setPageMargin(30);
    final MainActivity mainActivity = (MainActivity) getActivity();
    mViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            mainActivity.pageScrolled(page, position, positionOffset);
        }
    });
}
 
源代码2 项目: android_gisapp   文件: AboutActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_about);
    setToolbar(R.id.main_toolbar);

    mViewPager = (ViewPager) findViewById(com.nextgis.maplibui.R.id.viewPager);
    PagerAdapter adapter = new TabsAdapter(getSupportFragmentManager());
    mViewPager.setAdapter(adapter);
    mViewPager.addOnPageChangeListener(this);

    TabLayout tabLayout = (TabLayout) findViewById(com.nextgis.maplibui.R.id.tabs);
    tabLayout.setupWithViewPager(mViewPager);

    TextView txtCopyrightText = (TextView) findViewById(R.id.copyright);
    txtCopyrightText.setText(Html.fromHtml(getString(R.string.copyright)));
    txtCopyrightText.setMovementMethod(LinkMovementMethod.getInstance());
}
 
源代码3 项目: CircularViewPager   文件: CircularTabLayout.java
private void setupWithViewPager(@NonNull ViewPager viewPager) {
    mViewPager = viewPager;

    PagerAdapter adapter = viewPager.getAdapter();
    if (adapter == null) {
        throw new IllegalArgumentException("ViewPager does not have a PagerAdapter set");
    }

    setTabsFromPagerAdapter(adapter);

    viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        public void onPageSelected(int position) {
            if (!mScrollingByManual) {
                smoothScrollToPosition(mCircularTabLayoutAdapter.moveToPosition(position));
            }
            mScrollingByManual = false;
        }
    });
}
 
protected void initData() {
        initBehavior();
        mNewsPager = (ViewPager) findViewById(R.id.id_uc_news_content);
        mTableLayout = (TabLayout) findViewById(R.id.id_uc_news_tab);
        mFragments = new ArrayList<TestFragment>();
        for (int i = 0; i < 4; i++) {
            mFragments.add(TestFragment.newInstance(String.valueOf(i), false));
            mTableLayout.addTab(mTableLayout.newTab().setText("Tab" + i));
        }
        mTableLayout.setTabMode(TabLayout.MODE_FIXED);
        mTableLayout.setOnTabSelectedListener(this);
        mNewsPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTableLayout));
        mNewsPager.setAdapter(new TestFragmentAdapter(mFragments, getSupportFragmentManager()));
        findViewById(R.id.news_tv_header_pager).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(QQBrowserDemoActivity.this, "点击我了", Toast.LENGTH_SHORT).show();
            }
        });
//        setViewPagerScrollEnable(mNewsPager,false);
    }
 
源代码5 项目: ViewPagerHelper   文件: CircleIndicator.java
/**
 * 添加数据
 * @param viewPager
 */
public void addPagerData(int count, ViewPager viewPager) {

    /**
     * 还原一些状态
     */
    removeAllViews();
    mMoveDistance = 0;

    if (count == 0) {
        return;
    }
    mViewPager = viewPager;
    mCount = count;

    GradientDrawable drawable = new GradientDrawable();
    drawable.setShape(GradientDrawable.OVAL);
    drawable.setSize(mSize, mSize);
    drawable.setColor(mDefaultColor);
    for (int i = 0; i < mCount; i++) {
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        if (i == mCount - 1) {
            params.setMargins(mMargin, 0, mMargin, 0);
        } else {
            params.setMargins(mMargin, 0, 0, 0);
        }

        ImageView imageView = new ImageView(getContext());

        imageView.setBackground(drawable);
        imageView.setLayoutParams(params);
        addView(imageView);
    }
    if (viewPager != null) {
        viewPager.addOnPageChangeListener(new PagerListener());
    }
}
 
源代码6 项目: FlycoPageIndicator   文件: FlycoPageIndicaor.java
@Override
public void setViewPager(ViewPager vp) {
    this.vp = vp;
    if (isValid()) {
        this.count = vp.getAdapter().getCount();
        vp.removeOnPageChangeListener(this);
        vp.addOnPageChangeListener(this);

        createIndicators();
    }
}
 
源代码7 项目: ViewPagerHelper   文件: RectIndicator.java
/**
 * 添加数据
 * @param viewPager
 */
public void addPagerData(int count, ViewPager viewPager) {

    removeAllViews();
    if (count == 0) {
        return;
    }
    mCount = count;
    mViewPager = viewPager;
    GradientDrawable drawable = new GradientDrawable();
    drawable.setShape(GradientDrawable.RECTANGLE);
    drawable.setSize(mRectWidth, mRectHeight);
    drawable.setCornerRadius(mRoundSize);
    drawable.setColor(mDefaultColor);
    for (int i = 0; i < mCount; i++) {
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        if (i == mCount - 1) {
            params.setMargins(mMargin, 0, mMargin, 0);
        } else {
            params.setMargins(mMargin, 0, 0, 0);
        }

        ImageView imageView = new ImageView(getContext());

        imageView.setBackground(drawable);
        imageView.setLayoutParams(params);
        addView(imageView);
    }
    if (viewPager != null) {
        viewPager.addOnPageChangeListener(new PagerListener());
    }
}
 
源代码8 项目: Pasta-Music   文件: PageIndicator.java
/**
 * You must call this AFTER setting the Adapter for the ViewPager, or it won't display the right amount of points.
 * @param viewPager
 */
public void setViewPager(ViewPager viewPager) {
    mViewPager = viewPager;
    viewPager.addOnPageChangeListener(this);
    mTotalPages = viewPager.getAdapter().getCount();
    invalidate();
}
 
源代码9 项目: Common   文件: ToolBarActivity.java
private void initScrollTab(ScrollTab[] tabs, final ViewPager pager, List<String> titles) {
    final ArrayList<Fragment> fragments = new ArrayList<>();
    for (int i = 0; i < titles.size(); i++) {
        TabFragment fragment = new TabFragment();
        Bundle bundle = new Bundle();
        bundle.putInt("index", i);
        fragment.setArguments(bundle);
        fragments.add(fragment);
    }
    FragmentPagerAdapter fragmentPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public int getCount() {
            return fragments.size();
        }

        @Override
        public Fragment getItem(int arg0) {
            return fragments.get(arg0);
        }
    };
    pager.setOffscreenPageLimit(titles.size() - 1);
    pager.setAdapter(fragmentPagerAdapter);
    pager.addOnPageChangeListener(this);
    for (ScrollTab tab : tabs) {
        tab.setTitles(titles);
        tab.setNumber(1, "9", View.VISIBLE);//Set the red dot
        tab.setViewPager(pager);
        tab.setOnTabListener(new ScrollTab.OnTabListener() {
            @Override
            public void onChange(int index, View v) {
                pager.setCurrentItem(index, true);
            }
        });
    }
}
 
源代码10 项目: QuickLyric   文件: MainActivity.java
private void setupDemoScreen() {
    ViewGroup rootView = findViewById(id.root_view);
    getLayoutInflater().inflate(layout.tutorial_view, rootView);
    final ViewPager pager = findViewById(id.pager);
    CircleIndicator indicator = findViewById(R.id.indicator);
    final IntroScreenSlidePagerAdapter pagerAdapter = new IntroScreenSlidePagerAdapter(this);
    pager.setAdapter(pagerAdapter);
    pager.addOnPageChangeListener(pagerAdapter);
    indicator.setViewPager(pager);
    pager.setCurrentItem(pagerAdapter.rightToLeft ? pagerAdapter.getCount() - 1 : 0);
    indicator.setOnPageChangeListener(pagerAdapter);
    Button skipButton = rootView.findViewById(id.pager_button);
    ImageButton arrowButton = rootView.findViewById(id.pager_arrow);
    skipButton.setOnClickListener(v -> {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)
            pagerAdapter.exitAction();
        else
            pager.setCurrentItem(pagerAdapter.getCount() - 1);
        Bundle bundle = new Bundle();
        bundle.putInt("current_page", pager.getCurrentItem());
    });
    arrowButton.setOnClickListener(v -> pagerAdapter.nextAction());
    if (mDrawerToggle != null)
        ((DrawerLayout) drawer).setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    focusOnFragment = false;
    invalidateOptionsMenu();
}
 
源代码11 项目: Gallery   文件: Gallery.java
public Gallery(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Gallery);
    Constant.GALLEY_SCALE_RATE = a.getFloat(R.styleable.Gallery_scaleP, Constant.GALLEY_SCALE_RATE);
    int galleryPadding = a.getDimensionPixelSize(R.styleable.Gallery_gallery_padding, 0);
    if (galleryPadding > 0) {
        galleryPaddingLeft = galleryPaddingRight = galleryPaddingTop = galleryPaddingBottom = galleryPadding;
    } else {
        galleryPaddingLeft = a.getDimensionPixelSize(R.styleable.Gallery_gallery_padding_left, galleryPaddingLeft);
        galleryPaddingRight = a.getDimensionPixelSize(R.styleable.Gallery_gallery_padding_right, galleryPaddingRight);
        galleryPaddingTop = a.getDimensionPixelSize(R.styleable.Gallery_gallery_padding_top, galleryPaddingTop);
        galleryPaddingBottom = a.getDimensionPixelSize(R.styleable.Gallery_gallery_padding_bottom, galleryPaddingBottom);
    }
    galleryCenterMargin = a.getDimensionPixelSize(R.styleable.Gallery_gallery_pics_space, galleryCenterMargin);
    a.recycle();
    
    LayoutInflater.from(context).inflate(R.layout.gallery_layout, this, true);
    viewPager = (ViewPager) findViewById(R.id.view_pager);
    ((MarginLayoutParams)viewPager.getLayoutParams()).setMargins(galleryPaddingLeft, galleryPaddingTop, galleryPaddingRight, galleryPaddingBottom);
    viewPager.setPageMargin(galleryCenterMargin);

    viewPager.setOffscreenPageLimit(OFFSCREEN_PAGE_LIMIT);
    setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return viewPager.dispatchTouchEvent(event);
        }
    });
    viewPager.addOnPageChangeListener(new PageChangeListener());
}
 
源代码12 项目: RecyclerPager   文件: SmartTabLayout.java
/**
 * Sets the associated view pager. Note that the assumption here is that the pager content
 * (number of tabs and tab titles) does not change after this call has been made.
 *
 * @param viewPager viewPager
 */
public void setViewPager(ViewPager viewPager) {
    tabStrip.removeAllViews();
    this.viewPager = viewPager;
    if (viewPager != null && viewPager.getAdapter() != null) {
        viewPager.addOnPageChangeListener(new InternalViewPagerListener());
        populateTabStrip();
    }
}
 
源代码13 项目: FlycoPageIndicator   文件: FlycoPageIndicaor.java
@Override
public void setViewPager(ViewPager vp, int realCount) {
    this.vp = vp;
    if (isValid()) {
        this.count = realCount;
        vp.removeOnPageChangeListener(this);
        vp.addOnPageChangeListener(this);

        createIndicators();
    }
}
 
源代码14 项目: AndroidAgeraTutorial   文件: ViewPageActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_guide);
    ViewPager mViewPager = (ViewPager) findViewById(R.id.view_page);

    final GuideAdapter guideAdapter = new GuideAdapter(ViewPageActivity.this);
    guideAdapter.addAll(getGuideViewModels());
    mViewPager.setAdapter(guideAdapter);
    mViewPager.addOnPageChangeListener(this);

    mWelcomeDotView = (ViewPageDotView) findViewById(R.id.dot_view);
    mWelcomeDotView.setNumOfCircles(guideAdapter.getCount(), getResources().getDimensionPixelSize(R.dimen.height_very_small));

}
 
源代码15 项目: MvpRoute   文件: BannerView.java
/**
	 * 初始化BannerView  加入ViewPager 加入RadioGroup
	 *
	 * @param context
	 * @param attrs
	 */
	private void init(Context context, AttributeSet attrs) {
		TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.BannerView);

		try {
			isPlayStart = typedArray.getBoolean(R.styleable.BannerView_start_plary, DEFAULAT_PALYER);
			selectTab = typedArray.getResourceId(R.styleable.BannerView_tab_select, 0);
			tabMargin = typedArray.getDimensionPixelSize(R.styleable.BannerView_tab_margin, DEFAULT_MARGIN);
			tabBottomMargin = typedArray.getDimensionPixelSize(R.styleable.BannerView_tab_bottom_margin, DEFAULT_BOOTTOM_MARGIN);
			speed = typedArray.getInt(R.styleable.BannerView_viewpager_speed, DEFAULT_VIEWPAGER_SPEED);
			intervalTime = typedArray.getInt(R.styleable.BannerView_intervalTime, DEFAULT_INTERVATIME);
			tabWidth = typedArray.getDimensionPixelSize(R.styleable.BannerView_tab_width, DEFAULT_TAB_WIDTH);
			tabHeight = typedArray.getDimensionPixelSize(R.styleable.BannerView_tab_height, DEFAULT_TAB_HEIGHT);
//			int type = typedArray.get(R.styleable.BannerView_nav_gravity,);
//			LogUtils.d("type==>" + type);

		} finally {
			typedArray.recycle();
		}

		imgs = new LinkedList<>();
		titles = new LinkedList<>();

		viewpager = new ViewPager(context);
		//设置viewpager的切换时间  默认切换时间为1000 单位毫秒
		setPageChangeDuration(speed);
		//设置viewpager的页面切换监听
		viewpager.addOnPageChangeListener(this);
		viewpager.setLayoutParams(new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
		//添加view
		addView(viewpager);
		//创建指示器控件
		radioGroup = new RadioGroup(context);
		radioGroup.setOrientation(RadioGroup.HORIZONTAL);
		LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
		//设置下方偏移量
		params.setMargins(0, 0, 0, tabBottomMargin);
		//设置相对属性
		params.addRule(RelativeLayout.CENTER_HORIZONTAL);
		params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
		radioGroup.setLayoutParams(params);
		addView(radioGroup);
	}
 
源代码16 项目: ViewPagerCards   文件: ShadowTransformer.java
public ShadowTransformer(ViewPager viewPager, CardAdapter adapter) {
    mViewPager = viewPager;
    viewPager.addOnPageChangeListener(this);
    mAdapter = adapter;
}
 
源代码17 项目: iBeebo   文件: SmileyPicker.java
public SmileyPicker(Context paramContext, AttributeSet paramAttributeSet) {
    super(paramContext, paramAttributeSet);
    mContext = paramContext;
    LayoutInflater mInflater = LayoutInflater.from(paramContext);
    View view = mInflater.inflate(R.layout.writeweiboactivity_smileypicker, null);

    ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewpager);
    viewPager.setAdapter(new SmileyPagerAdapter());
    leftPoint = (ImageView) view.findViewById(R.id.left_point);
    centerPoint = (ImageView) view.findViewById(R.id.center_point);
    rightPoint = (ImageView) view.findViewById(R.id.right_point);

    if (true) {
        rightPoint.setVisibility(View.VISIBLE);
    } else {
        rightPoint.setVisibility(View.GONE);
    }
    leftPoint.getDrawable().setLevel(1);
    viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            switch (position) {
                case 0:
                    leftPoint.getDrawable().setLevel(1);
                    centerPoint.getDrawable().setLevel(0);
                    rightPoint.getDrawable().setLevel(0);
                    break;
                case 1:
                    leftPoint.getDrawable().setLevel(0);
                    centerPoint.getDrawable().setLevel(1);
                    rightPoint.getDrawable().setLevel(0);
                    break;
                case 2:
                    leftPoint.getDrawable().setLevel(0);
                    centerPoint.getDrawable().setLevel(0);
                    rightPoint.getDrawable().setLevel(1);
                    break;

            }
        }
    });
    addView(view);
}
 
源代码18 项目: PLDroidShortVideo   文件: TabPagerIndicator.java
/**
 * 必须先设置ViewPager
 * @param viewPager
 * @param currentPos
 */
public void setViewPager(ViewPager viewPager, int currentPos){
    mViewPager = viewPager;
    viewPager.addOnPageChangeListener(mListener);
    viewPager.setCurrentItem(currentPos);
}
 
public ViewPagerIdlingResource(ViewPager pager) {
    this.viewPager = pager;
    pager.addOnPageChangeListener(this);
    isIdle = true;
}
 
源代码20 项目: FabulousFilter   文件: BottomSheetUtils.java
public static void setupViewPager(ViewPager viewPager) {
    final View bottomSheetParent = findBottomSheetParent(viewPager);
    if (bottomSheetParent != null) {
        viewPager.addOnPageChangeListener(new BottomSheetViewPagerListener(viewPager, bottomSheetParent));
    }
}