これは非常に簡単に思えます:私は、補間をアプリケーションのアニメーションに使用するように設定しようとしています。これを、XMLではなく、Javaコードで設定する必要があります(さまざまなものに応じて変更されます)。
Androidウェブサイトから、setInterpolator()
が見つかりました
ただし、これをどのように使用すればよいかわかりません。
極間名(つまり、BounceIterpolator
)を入力しようとしましたが、これは何もしませんでした。
私は試した R.anim.BounceIterpolator
が、インテリセンスはanim cannot be resolved or is not a field
。
では、Javaから補間器を設定するにはどうすればよいですか?
setInterpolator(new BounceInterpolator());
anim.setInterpolator(context, Android.R.anim.bounce_interpolator);
Androidは、アニメーション内で実際のスプリングと物理をサポートするようになりました。下位互換ライブラリの一部。 リンク
カスタム補間器の場合:
Interpolator customInterpolator = PathInterpolatorCompat.create(cpX1,cpX2,cpY1,cpY2)
amalBit のおかげで、KotlinでPathInterpolator
のProgressBar
で補間器を作成しました。
val path = Path()
path.lineTo(0.1f, 0.2f)
path.lineTo(0.7f, 0.9f)
path.lineTo(1f, 1f)
val animation = ObjectAnimator.ofInt(progress_bar, "progress", 0, 100)
animation.duration = 2000
animation.interpolator = PathInterpolatorCompat.create(path)
animation.addListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animator: Animator) {}
override fun onAnimationEnd(animator: Animator) {
finish()
}
override fun onAnimationCancel(animator: Animator) {}
override fun onAnimationRepeat(animator: Animator) {}
})
animation.start()
https://www.programcreek.com/Java-api-examples/index.php?api=Android.view.animation.PathInterpolator で他の例を参照してください。