[컴][안드로이드] Glide 로 background image 를 설정하기

glide 로 setBackground() 하기 / how to set background image using Glide /


Glide 로 background image 를 설정하기

glide 를 써보는데, RelativeLayout 의 background 에 image 를 set 하고 싶었다. 그래서 구글링을 좀 했더니 바로 아래 글이 나왔다.
그런데 이 녀석은 제대로 동작하지 않았다. 왜냐하면, 처음에 RelativeLayout 의 width 와 height 를 넣어줘야 하는데, 내 RelativeLayout 은 wrap_content 로 되어 있어서 사용할 수가 없었다.

해결책

여하튼 그래서 그 다음에 찾은 페이지가 ref. 1 이다. ref. 1 의 이야기 처럼 ViewTarget 을 override 하는 방법이 가장 적합한 듯 하다.

code 는 아래처럼 사용하면 된다.


@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
    ...
    RelativeLayout rootview = holder.rootview;
    Glide.with(appContext)
        .load(goalItem.goalImageUrl)
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .into(new ViewTarget<RelativeLayout, GlideDrawable>(rootview) {
            @Override
            public void onResourceReady(GlideDrawable resource, GlideAnimation anim) {
                RelativeLayout myView = this.view;
                // Set your resource on myView and/or start your animation here.
                myView.setBackground(resource)
            }
        });
}



Reference


  1. Can we use Glide to load background images of Layouts e.g. LinearLayout, google group
  2. Custom targets > View Target
  3. Set Background Image to Relative Layout using Glide in Android

댓글 3개: