Programming$/Android

glide (feat. custom dialog)

ch4rli3kop 2020. 6. 24. 20:17
반응형

glide

구글에서 지원하는 안드로이드에서 사용할 수 있는 오픈소스 미디어 프레임워크다.

이거를 이용해서 png/gif 등의 다양한 이미지를 쉽게 업로드 할 수 있어 많이 사용된다고 한다.

자세한 사항은 다음 링크를 참고 https://github.com/bumptech/glide

다음은 glide를 사용하는 예제인데, 나는 AlertDialog에 gif 파일을 집어넣고 싶어서 glide를 사용했다.

custom dialog를 만들고 그 안의 ImageView에 glide로 gif를 집어넣으면 된다.

Usage

우선 build.gradle (Module: app)에 존재하는 디펜던시 리스트에 다음과 같이 추가한다.

dependencies {
   
   implementation 'com.github.bumptech.glide:glide:4.11.0'
   annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
}

MainActivity.java

사실 glide 사용하는거는 두 줄 밖에 안됌.. ㅎ

final AlertDialog dig = new AlertDialog.Builder(MainActivity.this).create();

LayoutInflater factory = LayoutInflater.from(MainActivity.this);
final View customView = factory.inflate(R.layout.custom_dialog, null);

final ImageView imgView = customView.findViewById(R.id.imageView3);
Glide.with(MainActivity.this)
      .load(R.raw.winningcat)
      .into(imgView);

dig.setView(customView);
dig.setButton(DialogInterface.BUTTON_POSITIVE, "OK",
   new DialogInterface.OnClickListener() {
       @Override
       public void onClick(DialogInterface dialogInterface, int i) {
          return;
   }
});
dig.show();

custom_dialog.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">

   <ImageView
       android:id="@+id/imageView3"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginTop="15dp"
       android:layout_weight="1" />

</LinearLayout>

Result

대충 아래와 같이 gif가 나타난다.


반응형