1. 민트 볼륨 보조 컨트롤의 수평 슬라이딩 컨트롤 HorizontalScroll 모방

1334 단어
이 글은 안드로이드 박하 줄자 시리즈에 속한다
  • 코드 주소 HorizontalScroll
  • HorizontalScroll 컨트롤러는 제스처에 따라 미끄러지고scrollBy/to를 통해 미끄러지는 대표적인 컨트롤러입니다.
  • Scroller.fling
  • 관성 슬라이딩을 위해 Scroller를 사용했습니다.fling.
  •     public void fling(int startX, int startY, int velocityX, int velocityY,
                int minX, int maxX, int minY, int maxY) ;
    
  • Scroll.fling은 컴퓨터Scroll과 함께 사용
  • 
    ......
    
    case MotionEvent.ACTION_UP:
              mVelocityTracker.computeCurrentVelocity(1000);
                  float xvel=mVelocityTracker.getXVelocity(mPointActivtyId);
                  if(Math.abs(xvel)>ViewConfiguration.get(getContext()).getScaledMinimumFlingVelocity()) {
                      mFlingScroller.fling(
                              getScrollX(), getScrollY(),
                              -(int) xvel, 0,//              
                              Integer.MIN_VALUE, Integer.MAX_VALUE,
                              0, 0);
                  }
    
                  break;
    ......
    
      @Override
      public void computeScroll() {
          super.computeScroll();
          if (mFlingScroller.computeScrollOffset()) {
              int currX = mFlingScroller.getCurrX();
              scrollTo(currX, mFlingScroller.getCurrY());
              invalidate();//      
          }
      }
    

    4. 참고점 computeScroll () 함수에서 invalidate () 알림 보기 다시 그리기

    좋은 웹페이지 즐겨찾기