반응형
피카소를 사용하여 이미지 크기를 전폭 및 고정 높이로 조정
수직 Linear Layout을 사용하고 있습니다.여기서 아이템 중 하나가ImageView
피카소를 이용해 장전했다.화상의 폭을 디바이스의 전폭으로 해, 잘라낸 화상의 중앙 부분을 고정 높이(150dp)로 표시할 필요가 있습니다.현재 다음과 같은 코드를 가지고 있습니다.
Picasso.with(getActivity())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(screenWidth, imageHeight)
.centerInside()
.into(imageView);
어떤 가치를 넣어야 할까요?screenWidth
그리고.imageHeight
(=150dp)?
찾으시는 제품:
.fit().centerCrop()
의의:
fit
- 다음 시간까지 기다립니다.ImageView
는 측정되고 이미지의 크기가 정확히 일치하도록 조정되었습니다.centerCrop
- 가로 세로 비율을 기준으로 크기가 채워질 때까지 이미지를 조정합니다.크기와 정확히 일치하도록 위아래 또는 좌우 중 하나를 자르세요.
경우에 따라서는 fit()가 무용지물입니다.폭 및 높이 측정이 끝날 때까지 기다려야 합니다.그래서 글로발레이아웃리스테너를 사용하세요.예를 들어,
imageView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
Picasso.with(getActivity())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(screenWidth, imageHeight)
.fit
.centerInside()
.into(imageView);
imageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
언급URL : https://stackoverflow.com/questions/20823249/resize-image-to-full-width-and-fixed-height-with-picasso
반응형
'programing' 카테고리의 다른 글
Vue 라우터 및 Cordova(Vue.js) (0) | 2022.08.25 |
---|---|
Vue 3 라우터는 부모 뷰에 후행 슬래시를 추가하지 않으므로 기본 자식 vue 컴포넌트를 렌더링하지 않습니다. (0) | 2022.08.25 |
vue-cli resolve xlink: 참조 시 svgs 단위의 hrefvue-cli resolve xlink: 참조 시 svgs 단위의 href (0) | 2022.08.25 |
Java에서 랜덤 번호 가져오기 (0) | 2022.08.25 |
Store.js의 플러그인(VeValidate) 사용 (0) | 2022.08.25 |