'유니버설 이미지 로더'를 사용하여 내 ListView 내부의 이미지를로드하려고합니다. 내 코드는 다음과 같습니다'유니버설 이미지 로더'가 ImageView의 매개 변수 (크기 및 위치)를 잃었습니다.
public View getView(int position, View convertView, ViewGroup parent)
if (convertView == null) {
convertView = mInflater.inflate(R.layout.offers_list_adapter, null);
holder = new ViewHolder();
holder.mIvImage = (ImageView) convertView
.findViewById(R.id.ivImage);
holder.mTxtName = (TextView) convertView.findViewById(R.id.txtName);
holder.mTxtCategoryName = (TextView) convertView
.findViewById(R.id.txtCategoryName);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
나는 하나의 규칙이 있습니다 내 목록에서이 항목이 특별 한 경우 정상보다 이미지 뷰가 더 큰이 내 이미지 뷰의 PARAMS (예 : 특별 항목을 변경해야 ,
을). 라이브러리에서 실행할 때
imageLoader.displayImage(holder.url, holder.mIvImage);
하지만 : 내 PARAMS을 변경 한 후, 나는 평소와 같이 '유니버설 이미지 로더'라이브러리를 호출
if (holder.isSpecial) {
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, 50);
layoutParams.gravity = Gravity.CENTER_HORIZONTAL;
holder.mIvImage.setLayoutParams(layoutParams);
}
:
그래서 내 코드에서 나는 그렇게 ImageView 내 이미지를 넣으려면 내 UI 스레드 내 ImageView 센터 및 크기가 잘못되었습니다. 이 항목은 특별하므로 변경 한 내용이 적용되지 않습니다.
나는 내 자신의 ImageDownloader을 가지고 있고 새로운 PARAMS 제대로 (센터 및 새로운 크기)로에게 이미지 뷰로드를 사용하지만, 때 다른 많은 점에서 내 자신의 클래스는이 라이브러리로 너무 좋지 않다.
아무도 모르고 있습니다.
미리 감사드립니다.
건배!
내 '유니버설 이미지 로더'구성 :
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory().cacheOnDisc()
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
.displayer(new RoundedBitmapDisplayer(0)).build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
mContext)
.memoryCacheExtraOptions(480, 800)
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75)
.threadPoolSize(3)
.threadPriority(Thread.NORM_PRIORITY - 1)
.denyCacheImageMultipleSizesInMemory()
.offOutOfMemoryHandling()
.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))
.discCache(new UnlimitedDiscCache(file))
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.imageDownloader(
new URLConnectionImageDownloader(5 * 1000, 20 * 1000))
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.enableLogging().defaultDisplayImageOptions(options).build();
imageLoader.init(config);
왜'''RoundedBitmapDisplayer'''를 사용합니까? 둥근 모서리가 필요합니까? – NOSTRA
그것은 단지 시험이었고, 나는 잊어 버렸습니다. 하지만 현재 코드에서는 사용하지 않습니다. – coutol
"자신의 ImageDownloader 사용"은 무엇을 의미합니까? .imageDownloader (새로운 URLConnectionImageDownloader (5 * 1000, 20 * 1000))'''표준을 보았습니다. – NOSTRA