@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@OnClick({R.id.bezier, R.id.go})
public void onClick(View view) {
switch (view.getId()) {
case R.id.bezier:
Intent intent = new Intent(InterpolatorPathActivity.this, BrizerActivity.class);
startActivity(intent);
break;
case R.id.go:
Path path = new Path();
path.moveTo(X, Y);
path.quadTo(800, Y, 800, 800);
ObjectAnimator objectAnimator1 = new ObjectAnimator().ofFloat(image, "x", "y", path);
objectAnimator1.setDuration(3000);
objectAnimator1.setInterpolator(new PathInterpolator(0.9f, 0.1f, 0.5f, 0.9f));
objectAnimator1.start();
break;
}
}
java类android.view.animation.PathInterpolator的实例源码
InterpolatorPathActivity.java 文件源码
项目:PropertyAnimatorDemo
阅读 29
收藏 0
点赞 0
评论 0
AbsSlidingMusicPanelActivity.java 文件源码
项目:Orin
阅读 36
收藏 0
点赞 0
评论 0
private void animateNavigationBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel();
navigationBarColorAnimator = ValueAnimator
.ofArgb(getWindow().getNavigationBarColor(), color)
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME);
navigationBarColorAnimator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
navigationBarColorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onAnimationUpdate(ValueAnimator animation) {
AbsSlidingMusicPanelActivity.super.setNavigationbarColor((Integer) animation.getAnimatedValue());
}
});
navigationBarColorAnimator.start();
}
}
AnimationFragment.java 文件源码
项目:learn-newFeatures_Android_5.0
阅读 29
收藏 0
点赞 0
评论 0
private void curved(){
Path path = new Path();
//path.moveTo(view.getX(), view.getY());
//path.lineTo(200, 200);
//path.lineTo(600, 600);
//path.arcTo(r,0,180,false);
//path.rQuadTo(500,300,300,700);
//path.cubicTo(100,100,500,300,300,700);
//path.rCubicTo(100,100,500,300,300,700);
//path.addArc(100,100,1000,700,-180,180);
//path.cubicTo(100,100,200,200,300,300);
path.moveTo(100,100);
path.quadTo(1000,300,300,700);
ObjectAnimator mAnimator = ObjectAnimator.ofFloat(curved, View.X, View.Y, path);
Path p = new Path();
p.lineTo(0.6f, 0.9f);
p.lineTo(0.75f, 0.2f);
p.lineTo(1f, 1f);
mAnimator.setInterpolator(new PathInterpolator(p));
mAnimator.setDuration(3000);
mAnimator.start();
}
MotionSpecTest.java 文件源码
项目:material-components-android
阅读 42
收藏 0
点赞 0
评论 0
@Test
public void validateSetOfObjectAnimatorAlphaMotionTiming() {
MotionSpec spec =
MotionSpec.createFromResource(
activityTestRule.getActivity(), R.animator.valid_set_of_object_animator_motion_spec);
MotionTiming alpha = spec.getTiming("alpha");
assertEquals(3, alpha.getDelay());
assertEquals(5, alpha.getDuration());
if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
assertThat(alpha.getInterpolator(), instanceOf(PathInterpolator.class));
} else {
assertThat(alpha.getInterpolator(), instanceOf(FastOutLinearInInterpolator.class));
}
assertEquals(7, alpha.getRepeatCount());
assertEquals(ValueAnimator.RESTART, alpha.getRepeatMode());
}
MotionSpecTest.java 文件源码
项目:material-components-android
阅读 33
收藏 0
点赞 0
评论 0
@Test
public void validateSetOfObjectAnimatorTranslationMotionTiming() {
MotionSpec spec =
MotionSpec.createFromResource(
activityTestRule.getActivity(), R.animator.valid_set_of_object_animator_motion_spec);
MotionTiming translation = spec.getTiming("translation");
assertEquals(11, translation.getDelay());
assertEquals(13, translation.getDuration());
if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
assertThat(translation.getInterpolator(), instanceOf(PathInterpolator.class));
} else {
assertThat(translation.getInterpolator(), instanceOf(FastOutSlowInInterpolator.class));
}
assertEquals(17, translation.getRepeatCount());
assertEquals(ValueAnimator.REVERSE, translation.getRepeatMode());
}
FlingAnimationUtils.java 文件源码
项目:LaunchEnr
阅读 31
收藏 0
点赞 0
评论 0
private Interpolator getInterpolator(float startGradient, float velocityFactor) {
if (startGradient != mCachedStartGradient
|| velocityFactor != mCachedVelocityFactor) {
float speedup = mSpeedUpFactor * (1.0f - velocityFactor);
mInterpolator = new PathInterpolator(speedup,
speedup * startGradient,
mLinearOutSlowInX2, mY2);
mCachedStartGradient = startGradient;
mCachedVelocityFactor = velocityFactor;
}
return mInterpolator;
}
FlingAnimationUtils.java 文件源码
项目:LaunchEnr
阅读 30
收藏 0
点赞 0
评论 0
private AnimatorProperties getDismissingProperties(float currValue, float endValue,
float velocity, float maxDistance) {
float maxLengthSeconds = (float) (mMaxLengthSeconds
* Math.pow(Math.abs(endValue - currValue) / maxDistance, 0.5f));
float diff = Math.abs(endValue - currValue);
float velAbs = Math.abs(velocity);
float y2 = calculateLinearOutFasterInY2(velAbs);
float startGradient = y2 / LINEAR_OUT_FASTER_IN_X2;
Interpolator mLinearOutFasterIn = new PathInterpolator(0, 0, LINEAR_OUT_FASTER_IN_X2, y2);
float durationSeconds = startGradient * diff / velAbs;
if (durationSeconds <= maxLengthSeconds) {
mAnimatorProperties.interpolator = mLinearOutFasterIn;
} else if (velAbs >= mMinVelocityPxPerSecond) {
// Cross fade between linear-out-faster-in and linear interpolator with current
// velocity.
durationSeconds = maxLengthSeconds;
VelocityInterpolator velocityInterpolator
= new VelocityInterpolator(durationSeconds, velAbs, diff);
InterpolatorInterpolator superInterpolator = new InterpolatorInterpolator(
velocityInterpolator, mLinearOutFasterIn, Interpolators.LINEAR_OUT_SLOW_IN);
mAnimatorProperties.interpolator = superInterpolator;
} else {
// Just use a normal interpolator which doesn't take the velocity into account.
durationSeconds = maxLengthSeconds;
mAnimatorProperties.interpolator = Interpolators.FAST_OUT_LINEAR_IN;
}
mAnimatorProperties.duration = (long) (durationSeconds * 1000);
return mAnimatorProperties;
}
ViewUtil.java 文件源码
项目:Orin
阅读 29
收藏 0
点赞 0
评论 0
private static Animator createColorAnimator(Object target, String propertyName, @ColorInt int startColor, @ColorInt int endColor) {
ObjectAnimator animator;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
animator = ObjectAnimator.ofArgb(target, propertyName, startColor, endColor);
} else {
animator = ObjectAnimator.ofInt(target, propertyName, startColor, endColor);
animator.setEvaluator(new ArgbEvaluator());
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
animator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
}
animator.setDuration(PHONOGRAPH_ANIM_TIME);
return animator;
}
PathInterpolatorCompat.java 文件源码
项目:android-dialer
阅读 35
收藏 0
点赞 0
评论 0
public static Interpolator create(
float controlX1, float controlY1, float controlX2, float controlY2) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return new PathInterpolator(controlX1, controlY1, controlX2, controlY2);
}
return new PathInterpolatorBase(controlX1, controlY1, controlX2, controlY2);
}
AbsSlidingMusicPanelActivity.java 文件源码
项目:RetroMusicPlayer
阅读 30
收藏 0
点赞 0
评论 0
private void animateNavigationBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel();
navigationBarColorAnimator = ValueAnimator.ofArgb(getWindow().getNavigationBarColor(), color).setDuration(ViewUtil.RETRO_MUSIC_ANIM_TIME);
navigationBarColorAnimator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
navigationBarColorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void onAnimationUpdate(ValueAnimator animation) {
AbsSlidingMusicPanelActivity.super.setNavigationbarColor((Integer) animation.getAnimatedValue());
}
});
navigationBarColorAnimator.start();
}
}
BezierSpline.java 文件源码
项目:AndroidPhotoFilters
阅读 30
收藏 0
点赞 0
评论 0
private static int[] getOutputPointsForNewerDevices(Point[] knots) {
Point[] controlPoints = calculateControlPoints(knots);
Path path = new Path();
path.moveTo(0, 0);
path.lineTo(knots[0].x / 255.0f, knots[0].y / 255.0f);
path.moveTo(knots[0].x / 255.0f, knots[0].y / 255.0f);
for (int index = 1; index < knots.length; index++) {
path.quadTo(
controlPoints[index - 1].x / 255.0f,
controlPoints[index - 1].y / 255.0f,
knots[index].x / 255.0f,
knots[index].y / 255.0f
);
path.moveTo(knots[index].x / 255.0f, knots[index].y / 255.0f);
}
path.lineTo(1, 1);
path.moveTo(1, 1);
float[] allPoints = new float[256];
for (int x = 0; x < 256; x++) {
PathInterpolator pathInterpolator = new PathInterpolator(path);
allPoints[x] = 255.0f * pathInterpolator.getInterpolation((float) x / 255.0f);
}
allPoints[0] = knots[0].y;
allPoints[255] = knots[knots.length - 1].y;
return validateCurve(allPoints);
}
BezierSpline.java 文件源码
项目:PhotoFilters-android
阅读 27
收藏 0
点赞 0
评论 0
private static int[] getOutputPointsForNewerDevices(Point[] knots) {
Point[] controlPoints = calculateControlPoints(knots);
Path path = new Path();
path.moveTo(0, 0);
path.lineTo(knots[0].x / 255.0f, knots[0].y / 255.0f);
path.moveTo(knots[0].x / 255.0f, knots[0].y / 255.0f);
for (int index = 1; index < knots.length; index++) {
path.quadTo(
controlPoints[index - 1].x / 255.0f,
controlPoints[index - 1].y / 255.0f,
knots[index].x / 255.0f,
knots[index].y / 255.0f
);
path.moveTo(knots[index].x / 255.0f, knots[index].y / 255.0f);
}
path.lineTo(1, 1);
path.moveTo(1, 1);
float[] allPoints = new float[256];
for (int x = 0; x < 256; x++) {
PathInterpolator pathInterpolator = new PathInterpolator(path);
allPoints[x] = 255.0f * pathInterpolator.getInterpolation((float) x / 255.0f);
}
allPoints[0] = knots[0].y;
allPoints[255] = knots[knots.length - 1].y;
return validateCurve(allPoints);
}
AnimButtonLayout.java 文件源码
项目:ProgressRoundButton
阅读 30
收藏 0
点赞 0
评论 0
private void init(Context context, AttributeSet attributeSet) {
if (Build.VERSION.SDK_INT >= 21) {
mInterpolator = new PathInterpolator(0.33f, 0f, 0.33f, 1);
} else {
mInterpolator = new AccelerateDecelerateInterpolator();
}
mShadowDrawable = getResources().getDrawable(R.drawable.gradient_layout_shadow);
mDensity = getResources().getDisplayMetrics().density;
}
AbsSlidingMusicPanelActivity.java 文件源码
项目:Phonograph
阅读 36
收藏 0
点赞 0
评论 0
private void animateNavigationBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel();
navigationBarColorAnimator = ValueAnimator
.ofArgb(getWindow().getNavigationBarColor(), color)
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME);
navigationBarColorAnimator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
navigationBarColorAnimator.addUpdateListener(animation -> AbsSlidingMusicPanelActivity.super.setNavigationbarColor((Integer) animation.getAnimatedValue()));
navigationBarColorAnimator.start();
}
}
ViewUtil.java 文件源码
项目:Phonograph
阅读 36
收藏 0
点赞 0
评论 0
private static Animator createColorAnimator(Object target, String propertyName, @ColorInt int startColor, @ColorInt int endColor) {
ObjectAnimator animator;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
animator = ObjectAnimator.ofArgb(target, propertyName, startColor, endColor);
} else {
animator = ObjectAnimator.ofInt(target, propertyName, startColor, endColor);
animator.setEvaluator(new ArgbEvaluator());
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
animator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
}
animator.setDuration(PHONOGRAPH_ANIM_TIME);
return animator;
}
PullableWrapper.java 文件源码
项目:Dashchan
阅读 30
收藏 0
点赞 0
评论 0
public LollipopView(Wrapped wrapped, boolean top) {
this.wrapped = new WeakReference<>(wrapped);
this.top = top;
Path startPath = new Path();
startPath.lineTo(0.5f, 0f);
startPath.cubicTo(0.7f, 0f, 0.6f, 1f, 1f, 1f);
startInterpolator = new PathInterpolator(startPath);
Path endPath = new Path();
endPath.cubicTo(0.2f, 0f, 0.1f, 1f, 0.5f, 1f);
endPath.lineTo(1f, 1f);
endInterpolator = new PathInterpolator(endPath);
ringPaint.setStyle(Paint.Style.STROKE);
ringPaint.setStrokeCap(Paint.Cap.SQUARE);
ringPaint.setStrokeJoin(Paint.Join.MITER);
}
CircularProgressBar.java 文件源码
项目:Dashchan
阅读 33
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public CircularProgressBar(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeCap(Paint.Cap.SQUARE);
paint.setStrokeJoin(Paint.Join.MITER);
if (C.API_LOLLIPOP) {
Path startPath = new Path();
startPath.lineTo(0.5f, 0f);
startPath.cubicTo(0.7f, 0f, 0.6f, 1f, 1f, 1f);
lollipopStartInterpolator = new PathInterpolator(startPath);
Path endPath = new Path();
endPath.cubicTo(0.2f, 0f, 0.1f, 1f, 0.5f, 1f);
endPath.lineTo(1f, 1f);
lollipopEndInterpolator = new PathInterpolator(endPath);
indeterminateDrawable = null;
indeterminateDuration = 0;
} else {
lollipopStartInterpolator = null;
lollipopEndInterpolator = null;
TypedArray typedArray = context.obtainStyledAttributes(android.R.style.Widget_Holo_ProgressBar_Large,
new int[] {android.R.attr.indeterminateDrawable, android.R.attr.indeterminateDuration});
indeterminateDrawable = typedArray.getDrawable(0);
indeterminateDuration = typedArray.getInteger(1, 3500);
typedArray.recycle();
}
}
Utils.java 文件源码
项目:SpaceLaunchNow-Android
阅读 26
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void animateViewColor(View v, int startColor, int endColor) {
ObjectAnimator animator = ObjectAnimator.ofObject(v, "backgroundColor",
new ArgbEvaluator(), startColor, endColor);
animator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
animator.setDuration(COLOR_ANIMATION_DURATION);
animator.start();
}
Utils.java 文件源码
项目:SpaceLaunchNow-Android
阅读 32
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void animateViewColor(View v, int startColor, int endColor) {
ObjectAnimator animator = ObjectAnimator.ofObject(v, "backgroundColor",
new ArgbEvaluator(), startColor, endColor);
animator.setInterpolator(new PathInterpolator(0.4f, 0f, 1f, 1f));
animator.setDuration(COLOR_ANIMATION_DURATION);
animator.start();
}
PathInterpolatorCompatApi21.java 文件源码
项目:GitHub
阅读 30
收藏 0
点赞 0
评论 0
public static Interpolator create(Path path) {
return new PathInterpolator(path);
}
PathInterpolatorCompatApi21.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public static Interpolator create(float controlX, float controlY) {
return new PathInterpolator(controlX, controlY);
}
PathInterpolatorCompatApi21.java 文件源码
项目:GitHub
阅读 29
收藏 0
点赞 0
评论 0
public static Interpolator create(float controlX1, float controlY1,
float controlX2, float controlY2) {
return new PathInterpolator(controlX1, controlY1, controlX2, controlY2);
}
PathInterpolatorCompatApi21.java 文件源码
项目:AndroidAnimationTools
阅读 28
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static Interpolator create(Path path) {
return new PathInterpolator(path);
}
PathInterpolatorCompatApi21.java 文件源码
项目:AndroidAnimationTools
阅读 33
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static Interpolator create(float controlX, float controlY) {
return new PathInterpolator(controlX, controlY);
}
PathInterpolatorCompatApi21.java 文件源码
项目:AndroidAnimationTools
阅读 28
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static Interpolator create(float controlX1, float controlY1,
float controlX2, float controlY2) {
return new PathInterpolator(controlX1, controlY1, controlX2, controlY2);
}
PathInterpolatorCompatApi21.java 文件源码
项目:boohee_v5.6
阅读 32
收藏 0
点赞 0
评论 0
public static Interpolator create(Path path) {
return new PathInterpolator(path);
}
PathInterpolatorCompatApi21.java 文件源码
项目:boohee_v5.6
阅读 29
收藏 0
点赞 0
评论 0
public static Interpolator create(float controlX, float controlY) {
return new PathInterpolator(controlX, controlY);
}
PathInterpolatorCompatApi21.java 文件源码
项目:boohee_v5.6
阅读 29
收藏 0
点赞 0
评论 0
public static Interpolator create(float controlX1, float controlY1, float controlX2, float controlY2) {
return new PathInterpolator(controlX1, controlY1, controlX2, controlY2);
}
PathInterpolatorCompatApi21.java 文件源码
项目:SmartRefreshLayout
阅读 31
收藏 0
点赞 0
评论 0
public static Interpolator create(Path path) {
return new PathInterpolator(path);
}
PathInterpolatorCompatApi21.java 文件源码
项目:SmartRefreshLayout
阅读 30
收藏 0
点赞 0
评论 0
public static Interpolator create(float controlX, float controlY) {
return new PathInterpolator(controlX, controlY);
}