gpt4 book ai didi

android - “通用图像加载器”丢失了我的 ImageView 的参数(大小和位置)

转载 作者:搜寻专家 更新时间:2023-11-01 09:04:54 25 4
gpt4 key购买 nike

我正在尝试使用“通用图像加载器”在我的 ListView 中加载图像。我的代码看起来像这样:

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();
}

我有一个规则:

如果我列表中的这个项目是特殊的,我必须更改我的 ImageView 的参数(例如,特殊项目的 imageView 比正常的大)。

所以在我的代码中我这样做了:

if (holder.isSpecial) {
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, 50);
layoutParams.gravity = Gravity.CENTER_HORIZONTAL;
holder.mIvImage.setLayoutParams(layoutParams);
}

更改参数后,我像往常一样调用“Universal Image Loader”库:

imageLoader.displayImage(holder.url, holder.mIvImage); 

但是当库在我的 UI 线程中执行以将图像放入我的 ImageView 时,我的 ImageView 不在中心并且大小错误。 我所做的更改没有应用,因为这个项目是特殊的。

我有自己的 ImageDownloader,当我使用它时,ImageView 会正确加载新参数(中心和新大小),但在许多其他方面,我自己的类不如这个库好.

有人知道会发生什么吗?

提前致谢

干杯!


我的“通用图像加载器”配置:

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);

最佳答案

您已从 GitHub 自述文件复制粘贴配置。此配置(在 GitHub 上)仅显示所有可能的选项,但您不应调用所有选项。

您应该查看示例项目 (UniversalImageLoaderExample) 以了解调整和使用 UIL 的正确方法。

关于android - “通用图像加载器”丢失了我的 ImageView 的参数(大小和位置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com