图像在 ImageView 中按大小扭曲
Posted
技术标签:
【中文标题】图像在 ImageView 中按大小扭曲【英文标题】:image distort by size in ImageView 【发布时间】:2020-05-02 05:40:17 【问题描述】:我正在开发一个购物应用程序,其中有多个带有图片的产品。我有 ImageView 在其中显示该产品图片。我从服务器获取多个图像。我正在制作宽度为“wrap_content”的 ImageView 并使高度为静态。如果我将高度设为“wrap_content”,则 ImageView 尺寸会变得太大。我不想让 ImageView 太大
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_
>
<androidx.cardview.widget.CardView
android:id="@+id/layProduct"
android:layout_
android:layout_
android:background="@android:color/white"
android:elevation="@dimen/dp5"
android:orientation="vertical"
app:cardCornerRadius="@dimen/dp8">
<RelativeLayout
android:id="@+id/layout"
android:layout_
android:layout_
android:paddingBottom="@dimen/dp10">
<ImageView
android:id="@+id/ivProduct"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:src="@mipmap/image_placeholder" />
<TextView
android:id="@+id/txtProductName"
android:layout_
android:layout_
android:layout_below="@id/ivProduct"
android:layout_marginStart="@dimen/dp14"
android:maxLines="1"
android:text="English umbrella"
android:textColor="#ff393737" />
<TextView
android:id="@+id/txtProductPrice"
android:layout_
android:layout_
android:layout_below="@id/txtProductName"
android:layout_marginStart="@dimen/dp14"
android:text="$24.99"
android:textColor="#ff393737"
android:textStyle="bold" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
代码:
Glide.with(activity).load(image)
.placeholder(R.mipmap.image_placeholder)
.error(R.mipmap.image_placeholder)
.into(ivProduct);
图像在图像视图中拉伸。我想要像亚马逊列表一样的图像。
【问题讨论】:
问题是什么? @RamilGabdrakhmanov 我希望我的图像在图像视图中显示如下图所示。不要拉伸 那需要裁剪吧? @RamilGabdrakhmanov 请检查我编辑的问题 @MeowCat2012 请检查我编辑的问题 【参考方案1】:假设你想将图像裁剪成 400x200。
<ImageView
android:layout_
android:layout_
android:scaleType="centerCrop"
android:src="@android:drawable/btn_star"/>
然后丑陋的Android 2.3星形图标显示为:
将400
和200
更改为您喜欢的尺寸。
ImageView to scale to fixed height, but crop excess width推荐
这正是亚马逊在浏览器中所做的:
【讨论】:
【参考方案2】:你应该为 ImageView 使用android:scaleType
attr;
例如android:scaleType="centerCrop"
【讨论】:
以上是关于图像在 ImageView 中按大小扭曲的主要内容,如果未能解决你的问题,请参考以下文章
如何在 javafx 中调整 imageview 图像的大小?
Android ListView toRightOf ImageView 具有不同大小而无需调整图像大小
如何使 UITableView 不改变 imageView 的框架,或调整图像大小以填充框架大小?