Exemplo n.º 1
0
 public void fling(int velocity, int min, int max) {
   /// M: [FEATURE.ADD] fancy layout @{
   mScrollMax = max;
   mScrollMin = min;
   mScroller.setMaxScrollLength(max);
   mScroller.setMinScrollLength(min);
   /// @}
   int currX = getPosition();
   mScroller.fling(
       currX,
       0, // startX, startY
       velocity,
       0, // velocityX, velocityY
       min,
       max, // minX, maxX
       0,
       0, // minY, maxY
       mOverflingEnabled ? mOverflingDistance : 0,
       0);
 }
Exemplo n.º 2
0
 // Returns the distance that over the scroll limit.
 public int startScroll(int distance, int min, int max) {
   /// M: [FEATURE.ADD] fancy layout @{
   mScrollMax = max;
   mScrollMin = min;
   mScroller.setMaxScrollLength(max);
   mScroller.setMinScrollLength(min);
   /// @}
   int currPosition = mScroller.getCurrX();
   int finalPosition = mScroller.isFinished() ? currPosition : mScroller.getFinalX();
   int newPosition = Utils.clamp(finalPosition + distance, min, max);
   if (newPosition != currPosition) {
     mScroller.startScroll(
         currPosition,
         0, // startX, startY
         newPosition - currPosition,
         0,
         0); // dx, dy, duration
   }
   return finalPosition + distance - newPosition;
 }