[Android] 화면에 맞게 이미지 가져오기 ScalableNetworkImageView, volley
2020. 12. 28. 10:34ㆍ모바일/Android_Java
step1) volly 의 NetworkImageView 를 상속하여 화면크기를 측정한다
public class ScalableNetworkImageView extends NetworkImageView {
public boolean isMeasured = true;
public ScalableNetworkImageView(Context context) {
super(context);
}
public ScalableNetworkImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ScalableNetworkImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
try {
Drawable drawable = getDrawable();
if (drawable == null) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
} else {
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = width * drawable.getIntrinsicHeight() / drawable.getIntrinsicWidth();
setMeasuredDimension(width, height);
}
} catch (Exception e) {
isMeasured = false;
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
step2) ImageLoader 객체를 생성한다
private ImageLoader mImageLoader;
FlickrVolley.init(this);
mImageLoader = FlickrVolley.getImageLoader();
step3) url로 이미지를 가져온다
ScalableNetworkImageView imgView = new ScalableNetworkImageView(this);
imgView.setImageUrl(imageUrl, mImageLoader);
'모바일 > Android_Java' 카테고리의 다른 글
[카카오페이 메인 클론코딩 2] onslide , onStateChanged, setalpha(블러처리/ 흐리게 하면서 사라지게함), scaleX(화면이 커지고 작아지고)구현 (0) | 2021.01.10 |
---|---|
[카카오페이 메인 클론코딩 1] BottomSheetBehavior 구현 (0) | 2021.01.10 |
Android Studio Mac 단축키 (0) | 2020.12.24 |
ScollView 스크롤시 바텀레이아웃 숨기기 (detect scroll end) (0) | 2020.12.23 |
Scrollview 스크롤 위치 계산, 원하는 위치로 이동, child isvisible, scrollTo, smoothScrollTo (0) | 2020.12.16 |