gpt4 book ai didi

android - 图片来自网络,Glide 在 Android 上太小

转载 作者:行者123 更新时间:2023-12-02 11:02:57 25 4
gpt4 key购买 nike

我正在尝试从网络下载图像并在 ImageView 中显示 Glide使用scaleType =“centerInside”选项。

由于某种原因,从网络下载的图像在屏幕上看起来比从资源放入 ImageView 时小得多。

示例:

Portrait view with two different images

这两个图像都可以找到here 。我认为,与我在笔记本电脑上看到的图像相比,即使是从资源设置的图像看起来也比实际大小要小。我知道这与屏幕密度有关,但如何使这些图像具有“用户友好的尺寸”,例如大一点?

甚至是different image 600x250 px 的尺寸在手机上显得小得离谱(ImageView 的layout_height 和layout_width 设置为“wrap_content”)。

Image in landscape mode

Activity 代码:

public class DisplayImagesActivity extends AppCompatActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.display_image_activity);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
setTitle("Hello StackOverflow!");

ImageView top_left = (ImageView) findViewById(R.id.top_left);
ImageView top_right = (ImageView) findViewById(R.id.top_right);
ImageView bottom_left = (ImageView) findViewById(R.id.bottom_left);
ImageView bottom_right = (ImageView) findViewById(R.id.bottom_right);

String[] urls = new String[] {
"http://imgur.com/6jMOdg0.png",
"http://imgur.com/AhIziYr.png"
};

top_left.setImageResource(R.drawable.top_left);
top_right.setImageResource(R.drawable.top_right);
Glide.with(this)
.load(urls[0])
.signature(new StringSignature(new Date().toString()))
.into(bottom_left);
Glide.with(this)
.load(urls[1])
.signature(new StringSignature(new Date().toString()))
.into(bottom_right);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
this.finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}

display_image_activity.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/match_parent"
android:orientation="vertical">

<include layout="@layout/_toolbar" />

<ScrollView
style="@style/match_parent">
<RelativeLayout
style="@style/match_parent"
android:padding="16dp">

<TextView
style="@style/wrap_content"
android:id="@+id/text_resources"
android:layout_marginBottom="10dp"
android:text="From Resources"/>

<ImageView
android:id="@+id/top_left"
android:background="@color/Linen"
android:layout_width="150dp"
android:layout_height="120dp"
android:layout_marginBottom="20dp"
android:layout_below="@id/text_resources"
android:scaleType="centerInside"/>

<ImageView
android:id="@+id/top_right"
android:background="@color/Linen"
android:layout_width="150dp"
android:layout_height="120dp"
android:layout_toRightOf="@id/top_left"
android:layout_toEndOf="@id/top_left"
android:layout_below="@id/text_resources"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:scaleType="centerInside"/>

<TextView
style="@style/wrap_content"
android:id="@+id/text_network"
android:layout_below="@id/top_left"
android:layout_marginBottom="10dp"
android:text="From Network"/>

<ImageView
android:id="@+id/bottom_left"
android:background="@color/Linen"
android:layout_width="150dp"
android:layout_height="120dp"
android:layout_below="@id/text_network"
android:scaleType="centerInside" />

<ImageView
android:id="@+id/bottom_right"
android:background="@color/Linen"
android:layout_width="150dp"
android:layout_height="120dp"
android:layout_toRightOf="@id/bottom_left"
android:layout_toEndOf="@id/bottom_left"
android:layout_below="@id/text_network"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:scaleType="centerInside" />

</RelativeLayout>
</ScrollView>
</LinearLayout>

最佳答案

我也遇到了同样的问题。 Glide 尝试解释我的应用程序的需求并相应地转换图像,导致某些地方的图像太小。在我的例子中,ImageViews 使用 adjustViewBounds="true" 和 MaxWdth/Height 导致问题

虽然我距离成为 Glide 专家还差得远,但我发现了一个适合我的快速修复方法。

我只是添加了一个 .dontTransform() 方法调用,在我的情况下这是可以的,因为我使用已经预先缩放的缩略图。

GlideApp.with(context).load(fireStorage).dontTransform().into(imgView);

(使用占位符可能也会有帮助,但对我来说,这是最简单的方法)

关于android - 图片来自网络,Glide 在 Android 上太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42284217/

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