Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Fragment+ViewPager靜止滑動,去掉默認的滑動效果

Fragment+ViewPager靜止滑動,去掉默認的滑動效果

編輯:關於Android編程

最開始做的整個頁面都可以滑動類似微信,但後來首頁改版,frament內的滑動效果太多,就要去掉整個activity的滑動效果,但是想改起來快一點,就想到把viewpager滑動效果禁止掉,只能點擊選擇,上網一搜還真有並且很好用就推薦下。但是點擊選擇後還有滑動的效果,後來就想把viewpager的滑動動畫去掉,搜了搜沒找到,後來發現把滑動的切換時間可以改成不需要切換時間,這樣就ok了,下面是源碼。


import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;


public class NoScrollViewPager extends ViewPager {
    private boolean noScroll = true; //true 代表不能滑動 //false 代表能滑動
 
    public NoScrollViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }
 
    public NoScrollViewPager(Context context) {
        super(context);
    }
 
    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); */
        if (noScroll)
            return false;
        else
            return super.onTouchEvent(arg0);
    }
 
    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        if (noScroll)
            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, false);//表示切換的時候,不需要切換時間。
    }
 
}
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved