안드로이드 자바
[Java][Android] Lottie 라이브러리 활용해 애니메이션 기능 구현하기
teamnova
2025. 4. 22. 15:23
728x90
안녕하세요
오늘은 Lottie 라이브러리로 애니메이션 기능을 구현해보도록 하겠습니다.
Lottie는 애니메이션을 JSON 형식으로 앱에서 재생할 수 있도록 해주는 도구입니다.
https://lottiefiles.com 에서 마음에 드는 .json 애니메이션 파일을 다운로드 해주시고
이름을 animation.json 으로 변경해준 뒤에,
(*이름을 꼭 animation으로 할 필요는 없지만 이번 포스팅에서는 animation을 사용하겠습니다.)
해당 json 파일을 res/raw/ 폴더에 저장해주시면 됩니다.
(*raw 폴더가 없으면 만들어주세요.)
그리고 build.gradle.kts (Module :app) 에
implementation ("com.airbnb.android:lottie:6.0.0")
로티 라이브러리를 추가해줍니다.
전체 코드입니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="24dp">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottieAnimationView"
android:layout_width="300dp"
android:layout_height="300dp"
app:lottie_rawRes="@raw/animation"
app:lottie_autoPlay="false"
app:lottie_loop="true" />
<Button
android:id="@+id/btnPlayPause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="애니메이션 재생"
android:layout_marginTop="20dp"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private LottieAnimationView lottieAnimationView;
private Button btnPlayPause;
private boolean isPlaying = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lottieAnimationView = findViewById(R.id.lottieAnimationView);
btnPlayPause = findViewById(R.id.btnPlayPause);
btnPlayPause.setOnClickListener(v -> {
if (isPlaying) {
lottieAnimationView.pauseAnimation();
btnPlayPause.setText("애니메이션 재생");
} else {
lottieAnimationView.playAnimation();
btnPlayPause.setText("애니메이션 정지");
}
isPlaying = !isPlaying;
});
}
}
시연 영상입니다.