Added velocity scalar and updated spring values
Updated spring values to the latest ones agreed in design. In addition, added a velocity multiplier that only affects after it absorbs an impact at the scroll boundary. This will help to increase the spring behavior when we fling the content, but keeping it controlled when we pull and release. Bug: 183768138 Test: ran EdgeEffectTest and visual Change-Id: I4ed7b01dd42a9a5adda637917369c349a6ae2f76
This commit is contained in:
committed by
Nader Jawad
parent
e178f50356
commit
0ca911f5f8
@@ -117,12 +117,18 @@ public class EdgeEffect {
|
||||
/**
|
||||
* The natural frequency of the stretch spring.
|
||||
*/
|
||||
private static final double NATURAL_FREQUENCY = 17.55;
|
||||
private static final double NATURAL_FREQUENCY = 24.657;
|
||||
|
||||
/**
|
||||
* The damping ratio of the stretch spring.
|
||||
*/
|
||||
private static final double DAMPING_RATIO = 0.92;
|
||||
private static final double DAMPING_RATIO = 0.98;
|
||||
|
||||
/**
|
||||
* The variation of the velocity for the stretch effect when it meets the bound.
|
||||
* if value is > 1, it will accentuate the absorption of the movement.
|
||||
*/
|
||||
private static final float ON_ABSORB_VELOCITY_ADJUSTMENT = 13f;
|
||||
|
||||
/** @hide */
|
||||
@IntDef({TYPE_GLOW, TYPE_STRETCH})
|
||||
@@ -460,7 +466,7 @@ public class EdgeEffect {
|
||||
public void onAbsorb(int velocity) {
|
||||
if (mEdgeEffectType == TYPE_STRETCH) {
|
||||
mState = STATE_RECEDE;
|
||||
mVelocity = velocity;
|
||||
mVelocity = velocity * ON_ABSORB_VELOCITY_ADJUSTMENT;
|
||||
mDistance = 0;
|
||||
mStartTime = AnimationUtils.currentAnimationTimeMillis();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user