【问题标题】:Setting width and height of ImageView using Aspect Ratio of the original image like whatsapp使用原始图像的纵横比(如whatsapp)设置ImageView的宽度和高度
【发布时间】:2018-10-01 15:17:57
【问题描述】:

我有一个不同尺寸图像的列表视图。图片是使用 glide 库加载的。

目前我已将 imageview 的高度和宽度设置为 wrap_content 以获得图像的原始感觉,但它的行为不正常。

因此我想使用纵横比设置图像视图的宽度和高度。

我使用了不同的 scaleType,但没有得到想要的结果。

感谢任何帮助

【问题讨论】:

  • 通常你会设置一个大小(宽度或高度)为硬编码或约束,另一个设置为 wrap_content,然后设置适当的比例类型。如果两者都是 wrap_content ,则很难知道要扩展到什么。
  • @GabeSechan 当然,我可以保持宽度不变。但只是想知道,我不能使用图像的纵横比来固定高度和宽度吗?如果我固定宽度,我应该使用什么比例类型
  • 假设您的纵横比为 2:1(宽是高的两倍)。如果您将宽度和高度固定为 400,那么您要么只能获得 200 像素高的图像(以匹配宽度),要么您有 800 像素宽的图像无法全部显示(因为它太大)。如果两个尺寸都是固定的,则纵横比缩放没有意义。除非您提前知道将要显示的任何图像的纵横比。
  • 我同意,感谢您的及时回复。你能帮我吗,我想为像whatsapp这样的图像创建一个用户界面,我应该遵循什么方法。我想处理所有尺寸的图像作为whatsapp句柄

标签: android listview imageview android-glide


【解决方案1】:

我建议您使用 ConstraintLayout 中的 DimensionConstraints。您可以使用 app:layout_constraintDimensionRatio 属性定义纵横比,因此您的 ImageView 可以是这样的:

<ImageView android:layout_width="0dp"
                   android:layout_height="0dp"
                   app:layout_constraintDimensionRatio="H,2:1"
                   app:layout_constraintBottom_toBottomOf="parent"
                   app:layout_constraintTop_toTopOf="parent"/>

所以图像视图的高度总是宽度值的一半。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-27
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多