Android ScrollView 관성 스크롤 취소 방법

ScrollView 의 관성 스크롤 효 과 는 이 ScrollView 가 천천히 미 끄 러 지 거나 drag(드래그)작업 에 가 까 워 지 려 면 방 애 를 추가 하 는 것 을 제안 합 니 다.다시 fling 방법 만 있 으 면 velocity 값 을 극 대화 할 수 있 습 니 다.
실례 는 다음 과 같다.

public class CustomHorizontalScrollView extends HorizontalScrollView {
  private Context context;
  private ScrollViewListenner listenner;
  private CustomHorizontalScrollView currentView;

  public CustomHorizontalScrollView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    this.context = context;
  }

  public CustomHorizontalScrollView(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
    this.context = context;
  }

  public CustomHorizontalScrollView(Context context, AttributeSet attrs,
                   int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    // TODO Auto-generated constructor stub
    this.context = context;
  }

  @Override
  public boolean onTouchEvent(MotionEvent ev) {
    // TODO Auto-generated method stub
    currentView = this;
    return super.onTouchEvent(ev);
  }

  @Override
  protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    // TODO Auto-generated method stub
    if (null != listenner) {
      this.listenner.onScrollChanged(currentView, l, t, oldl, oldt);
    }
    super.onScrollChanged(l, t, oldl, oldt);
  }

  public interface ScrollViewListenner {
    public void onScrollChanged(CustomHorizontalScrollView view, int l,
                  int t, int oldl, int oldt);
  }

  public void setScrollViewListenner(ScrollViewListenner listenner) {
    this.listenner = listenner;
  }

  /**
  *
  *  :1000          1000 ,  drag  。
  @Override
  public void fling(int velocity) {
    super.fling(velocity / 1000);
  }
  */
}

이상 의 안 드 로 이 드 스크롤 뷰 에서 관성 스크롤 을 없 애 는 방법 은 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기