SpringAnimationを使ったバネアニメーションのやり方【Android・Kotlin】


画像の拡大

この記事では、SpringAnimationを使ったバネアニメーションのやり方を解説していく。今回のAndroidサンプルプロジェクトでは、2017年に追加された SpringAnimation を使ってバネアニメーションを実践した。大変簡単に実装できたのでぜひ参考に。

ライブラリの追加

SpringAnimationを使うためにはライブラリを追加する必要がある。build.gradle(Module: app)dependenciesに以下の一行を追記する。

implementation 'com.android.support:support-dynamic-animation:28.0.0'

アニメーションするプログラム

今回はSpringAnimationを使ってViewのスケールを変化させてみる。アニメーションのプログラム内容は以下のようになった。

fun doSpringAnimation(sender: View) {

	sender.scaleX = 0.5f
	sender.scaleY = 0.5f

	val (anim1X, anim1Y ) = sender.let { view ->
		SpringAnimation(view, DynamicAnimation.SCALE_X, 1.0f ) to
				SpringAnimation(view, DynamicAnimation.SCALE_Y, 1.0f)
	}
	anim1X.spring.apply {
		dampingRatio = SpringForce.DAMPING_RATIO_HIGH_BOUNCY
		stiffness = SpringForce.STIFFNESS_LOW
	}
	anim1Y.spring.apply {
		dampingRatio = SpringForce.DAMPING_RATIO_HIGH_BOUNCY
		stiffness = SpringForce.STIFFNESS_LOW
	}
	anim1X.start()
	anim1Y.start()
}

上記のメソッドを使う場合は次のようにしてアニメーションさせたいViewを渡せばよい。

val target = findViewById<View>(R.id.imageView)
doSpringAnimation(target)


画像の拡大

参考

▼ こんな記事も書いてます。

記事に関するご質問などがあれば、
@tosisico または お問い合わせ までご連絡ください。
関連記事