안드로이드 개발

안드로이드 GIF 추가하기

피커 2021. 1. 24. 16:17
728x90
반응형

안드로이드 개발을 하다보면 움직이는 사진(GIF)을 넣고 싶을때가있다.

구글 안드로이드 기본 제공은 아니다 보니 라이브러리를 추가하고 추가 구현이 필요하다.

아래와 같이 따라하면 바로 구현이 가능하니 참고하세요 

 

안드로이드 스튜디오를 실행하고, 왼쪽 프로젝트 정보에서 build.gradle(Module:app)을 선택합니다.

 

선택하고 나면 아래 화면처럼 dependencies 항목이 표시되는데 여기에 아래 파란색 라인을 추가한다.

(복사 붙이기 필요하시면 아래 글 복사하세요) 

implementation 'com.github.bumptech.glide:glide:3.7.0'

 

안드로이드 스튜디오에서 gradle을 변경하고 나면 항상 sync up을 해주는게 좋습니다.

수정하시고 나면 화면 우측 상단에 아래처럼 Sync Now 선택창이 보이게 되는데 눌러줍니다.

일정시간이 지나고 나면 sync 완료되었다는 메세지가 표시됩니다.

 

 

 

이제 GIF를 프로젝트에 추가해야합니다.

원하는 GIF 파일을 드래고하고 프로젝트의 drawable 폴더에 드랍합니다.

아래는 해당 파일을 옮길지 여부를 묻는 창입니다. OK 눌러줍니다.

그다음으로 layout xml에 imageview를 추가해줍니다.

 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/gif_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    
</androidx.constraintlayout.widget.ConstraintLayout>

 

마지막으로 MainActivity.java에 아래 코드의 "GIF add" 코멘트의 코드를 추가하면 완성입니다.

package com.picker.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ImageView;

// GIF add library +
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.GlideDrawableImageViewTarget;
// GIF add library -

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // GIF add code +
        ImageView rabbit = (ImageView) findViewById(R.id.gif_image);
        GlideDrawableImageViewTarget gifImage = new GlideDrawableImageViewTarget(rabbit);
        Glide.with(this).load(R.drawable.rocketshot).into(gifImage);
        // GIF add code -
    }
}

 

이제 실행을 해보면 아래와 같이 안드로이드 앱에 GIF가 잘 표시되는것을 확인 가능합니다.

실제로 따라해보면 생각보다 어렵지 않은것을 알수있습니다.

여러분들도 다이나믹한 안드로이드 앱을 만들고 싶을때 잘 사용해보세요 ^^

 

아래는 사용한 glide 라이브러리에 대한 소개입니다.

Glide는 빠르고 효율적인 Android 용 오픈 소스 미디어 관리 및 이미지 로딩 프레임 워크로 미디어 디코딩, 메모리 및 디스크 캐싱, 리소스 풀링을 간단하고 사용하기 쉬운 인터페이스로 래핑합니다.

Glide는 비디오 스틸, 이미지 및 애니메이션 GIF 가져 오기, 디코딩 및 표시를 지원합니다.

Glide에는 개발자가 거의 모든 네트워크 스택에 연결할 수있는 유연한 API가 포함되어 있습니다.

기본적으로 Glide는 커스텀 HttpUrlConnection 기반 스택을 사용하지만 대신 Google의 Volley 프로젝트 또는 Square의 OkHttp 라이브러리에 플러그인되는 유틸리티 라이브러리도 포함합니다.

Glide의 주요 초점은 모든 종류의 이미지 목록을 가능한 한 부드럽고 빠르게 스크롤하는 데 있지만 Glide는 원격 이미지를 가져오고 크기를 조정하고 표시해야하는 거의 모든 경우에도 효과적입니다.

 

 

반응형