글라이드는 안드로이드의 아주 효율적인 오픈소스 이미지 로딩 프레임이다.
글라이드 웹페이지:
https://github.com/bumptech/glide
GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling
An image loading and caching library for Android focused on smooth scrolling - GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling
github.com
글라이드를 사용하기 위해 Gradle에 추가한 뒤 Sync now 한다.
repositories {
google()
mavenCentral()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.13.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
}
글라이드 뷰 사용 예시:
리사이클러뷰 어뎁터에서 연결할때
@Override
public void onBindViewHolder(@NonNull PhotoAdapter.ViewHolder holder, int position) {
Photo photo = photoList.get(position);
holder.txtTitle.setText(photo.title);
holder.txtId.setText(photo.id+"");
holder.txtAlbumId.setText(photo.albumId+"");
// 글라이드 라이브러리 사용
GlideUrl url = new GlideUrl(photo.thumbnailUrl,
new LazyHeaders.Builder().addHeader("User-Agent", "Android").build());
Glide.with(context).load(url).into( holder.imgThumb );
이미지를 눌렀을때 인텐트를 통해 큰 이미지가 나오게 할때
public class PhotoActivity extends AppCompatActivity {
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo);
String imgUrl = getIntent().getStringExtra("url");
imageView = findViewById(R.id.imageView);
// 글라이드 라이브러리를 이용해서 이미지뷰에 표시한다.
GlideUrl url = new GlideUrl(imgUrl,
new LazyHeaders.Builder().addHeader("User-Agent", "Android").build());
Glide.with(PhotoActivity.this).load(url).into( imageView );
}
}
더보기
어뎁터에서의 인텐트 코드:
imgThumb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// todo 썸네일 누르면, 큰 이미지 나오는 액티비티실행
Intent intent = new Intent(context, PhotoActivity.class);
int index = getAdapterPosition();
Photo photo = photoList.get(index);
intent.putExtra("url", photo.url);
context.startActivity(intent);
}
});
'Android' 카테고리의 다른 글
[Android] Retrofit2 설정, API호출 (0) | 2022.07.21 |
---|---|
[Android] 카메라 기능: string-array, provider (0) | 2022.07.21 |
[Android] 네트워크에서 데이터 가져오기 및 수정 (작성중) (0) | 2022.07.19 |
[Android] 엑션바 활용과 메뉴 만들기: getSupportActionBar, onSupportNavigateUp, onCreateOptionsMenu, onOptionsItemSelected (0) | 2022.07.19 |
[Android] EditText에서 글자를 바꿀 때 마다 기능 실행: TextWatcher, addTextChangedListener (0) | 2022.07.18 |
댓글