当前位置:网站首页>Customize the non slidable viewpage and how to use it

Customize the non slidable viewpage and how to use it

2022-04-23 19:08:00 Little brother

First, customize a ViewPage.

/**
 *  Manual control viewpager Whether it can slide left and right 
 *  Remove sliding animation 
 * setNoScroll(boolean noScroll)
 *
 * @author ex-panyong
 */
public class NoScrollViewPager extends ViewPager {
    private boolean noScroll = false;   public NoScrollViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);  }

    public NoScrollViewPager(Context context) {
        super(context);  }
    // Set whether it can slide (false: Sliding ,true: Do not slide )
    public void setNoScroll(boolean noScroll) {
        this.noScroll = noScroll;  }

    @Override  public void scrollTo(int x, int y) {
        super.scrollTo(x, y);  }

    @Override  public boolean onTouchEvent(MotionEvent arg0) {
                /* return false;//super.onTouchEvent(arg0); */  switch(arg0.getAction()){
        }


        return !noScroll && super.onTouchEvent(arg0);  }

    @Override  public boolean onInterceptTouchEvent(MotionEvent arg0) {
        return !noScroll && super.onInterceptTouchEvent(arg0);  }

    @Override  public void setCurrentItem(int item, boolean smoothScroll) {
        super.setCurrentItem(item, smoothScroll);  }

    @Override  public void setCurrentItem(int item) {
        //false  Remove scrolling effect   super.setCurrentItem(item,false);  }

}

Usage method .

stay xml The document defines :

<com.ahbcd.app.md_swms.utils.NoScrollViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

</com.ahbcd.app.md_swms.utils.NoScrollViewPager>

stay Activity Use in :

NoScrollViewPager viewpager= (NoScrollViewPager) findViewById(R.id.viewpager); viewpager.setNoScroll(true); viewpager.setAdapter(new MainFragmentAdapter(fm, fragments));




版权声明
本文为[Little brother]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204210601422729.html