gpt4 book ai didi

android - picasso 显示的图像小于预期(预期大小的一半)

转载 作者:行者123 更新时间:2023-11-30 01:58:35 24 4
gpt4 key购买 nike

我正在使用 Picasso 从像这样的 URL 加载图像并将它们显示在我的 Android 应用程序中:http://image.tmdb.org/t/p/w185/A7HtCxFe7Ms8H7e7o2zawppbuDT.jpg

但是,问题是它们显示的是原始尺寸的一半。我不明白为什么。

直接在浏览器中加载上面的 URL,你会得到一张 185px x 278px 的图片

我在本地保存了其中一张图像,用作调试时的虚拟图像。当我使用 imageView.setImageResource(R.drawable.dummyimage); 时,图像显示为正确的大小。 (抱歉,我尝试附上截图,但我的声誉不够高。)

但是,当我使用 Picasso.with(mContext).load(mMoviePosterURL).into(imageView); 加载图像时,它们显示为该尺寸的一半。 (如果可以的话,我会附上屏幕截图。)

这是我的 ImageView:

<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/grid_item_imageview"
android:src="@drawable/dummyimage">
</ImageView>

还有我的布局:

<GridView
android:id="@+id/grid_view"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
tools:context=".MainActivityFragment"
android:numColumns="auto_fit">
</GridView>

我在 BaseAdapter 中的 getView 方法的完整代码:

public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
imageView = new ImageView(mContext);
} else {
imageView = (ImageView) convertView;
}

//imageView.setImageResource(R.drawable.dummyimage); for comparison

if(mMoviePosterPaths!=null) {
Picasso.with(mContext)
.load(mMoviePosterPaths[position])
.into(imageView);
}
return imageView;
}

我找到了一些解决方法。一种是这样做:.resize(185*2,278*2),但我希望尽可能避免放大图像。

另一种方法是从提供图像的 API 调用更大的图像,但我觉得这种方法效率较低,因为它需要更多数据。

四处搜索我没有发现其他人有这个问题所以也许我只是在做一些愚蠢的事情,但我很难过:(

我想这里的主要内容是我试图理解为什么 imageView.setImageResource()Picasso {...} 以不同方式显示相同的图像。

谢谢

最佳答案

您将图像的大小调整为原始大小的两倍。这就是图像只显示一半的原因。尝试删除

.resize(185*2,278*2)

或调整宽度和高度。

.resize(185,278)

然后在您的 ImageView 中添加

android:scaleType="fitXY"

希望这有帮助:)

关于android - picasso 显示的图像小于预期(预期大小的一半),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821576/

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