๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ํผํ๊ธฐ ์ํด Picasso๋ณด๋ค Fresco๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ์ง๋ง Fresco๋ Picasso์์ ์ง์ํ๋ฏ๋ก ์ค์ผ์ผ๋ง์ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
๋ค์์ ํผ์นด์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์ฝ๋์
๋๋ค.
PicassoCache.getPicassoInstance(holder.itemView.getContext()) .load(Uri.encode(item.imageUrl, Constants.ALLOWED_URI_CHARS)) .tag(Constants.IMAGE_LOADING_TAGS.ALL_DEAL) .placeholder(R.drawable.imgload) .error(R .drawable.imgntfound) .resize(200, 0) .into(holder.itemImage);
์ด์ ์ฌ๊ธฐ์์ ํผ์นด์๋ ๋๋น์ ๋์ด๊ฐ 0์ด ๋๋๋ก ํ์ฉํ๊ณ ๊ทธ์ ๋ฐ๋ผ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ Fresco๋ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋๋น์ ๋์ด๋ฅผ ๋ชจ๋ ์ง์ ํด์ผ ํ์ต๋๋ค.
ImageRequest ์์ฒญ = ImageRequestBuilder.newBuilderWithSource(uri) .setResizeOptions(new ResizeOptions(200, 200)) .build(); DraweeController ์ปจํธ๋กค๋ฌ = Fresco.newDraweeControllerBuilder() .setOldController(holder.itemImage.getController()) .setImageRequest(์์ฒญ) .build(); holder.itemImage.setController(์ปจํธ๋กค๋ฌ);
ํ๋ ์ค์ฝ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๊ฒ์ ๋ฌ์ฑํ ๊ธฐํ๊ฐ ์์ต๋๊น?
๋ถํํ๋ ์ด๊ฒ์ ํ์ฌ @amodkanthe ์์ ์ง์๋์ง ์์ต๋๋ค. ๋๋น์ ๋์ด๋ฅผ ๋ชจ๋ ์ง์ ํด์ผ ํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก Fresco๋ wrap_content
๋ ์ง์ํ์ง ์์ต๋๋ค. ์ด ์ฃผ์ ์ ๋ํ ์์ธํ ์ ๋ณด๋ http://frescolib.org/docs/wrap-content.html ์์ ์ฐพ์ ์ ์์ต๋๋ค.
Fresco ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ง์ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น? ๋ด ์ฑ์๋ ๋์ด, ๋๋น ๋๋ ์ข ํก๋น๋ฅผ ๋ชจ๋ฅด๋ ์๋๋ฆฌ์ค๊ฐ ๋ง์ด ์์ต๋๋ค.
์ง๊ธ์ ์ด๋ฏธ์ง์ ๋๋น์ ๋์ด๋ฅผ ์ป์ ์ ์์ผ๋ฉฐ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ข ํก๋น๋ฅผ ์ง์ ํฉ๋๋ค.
๊ฐ๊น์ด ์ฅ๋์ ์ฐ์ ์์๊ฐ ์ง์ ๋ ๊ธฐ๋ฅ์ด ์๋๋ฏ๋ก ์ข ๋ฃํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Fresco ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ง์ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น? ๋ด ์ฑ์๋ ๋์ด, ๋๋น ๋๋ ์ข ํก๋น๋ฅผ ๋ชจ๋ฅด๋ ์๋๋ฆฌ์ค๊ฐ ๋ง์ด ์์ต๋๋ค.
์ง๊ธ์ ์ด๋ฏธ์ง์ ๋๋น์ ๋์ด๋ฅผ ์ป์ ์ ์์ผ๋ฉฐ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ข ํก๋น๋ฅผ ์ง์ ํฉ๋๋ค.