개발 일기

Animation drawable grapahics ? 본문

Client/안드로이드

Animation drawable grapahics ?

이건욱

Use AnimationDrawable

android 에서 drawable로 애니메이션을 제공하는 방법중에 하나 입니다.

 

첫번 째로 Animation Drawable이 있습니다.

몇개의 이미지를 각각의 frame 단위로 순서와 시간을 통해 애니메이션을 구현 할수 있습니다.

 

다음과 같이 사용이 가능합니다.

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true">
    <item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
    <item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
    <item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
</animation-list>

oneshot을 통해서 한번만 실행 시킬것인지 아니면 계속 실행 시킬지 여부를 정할수 있습니다.

 

기본적으로 다음과 같이 실행을 시킬수가 있습니다.

[주의사항]

onCreate 했을 때에는 AnimationDrawable이 아직 window에 attach을 못하기 때문에

바로 실행하기 위해서는 onCreate가 아닌 onStart에서 진행해야 합니다.

private lateinit var rocketAnimation: AnimationDrawable

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)

    val rocketImage = findViewById<ImageView>(R.id.rocket_image).apply {
        setBackgroundResource(R.drawable.rocket_thrust)
        rocketAnimation = background as AnimationDrawable
    }

    rocketImage.setOnClickListener({ rocketAnimation.start() })
}

 

'Client > 안드로이드' 카테고리의 다른 글

Animation View Hide ?  (0) 2020.05.04
Property animation  (0) 2020.04.28
Dialog Fragment ?  (0) 2020.04.20
앱 대기 버킷 ?  (0) 2020.04.06
Transformations LiveData  (0) 2020.04.04
Comments