java - Android 在保持宽高比的同时显示图像

标签 java android image aspect-ratio

我正在开发一个应用程序,它可以在某些 Activity 中显示图像(通过使用相机捕获或从图库中选择)。我面临的问题是显示不同尺寸的图像。即使同一手机的相机拍摄的图像尺寸很大,实际图像尺寸也很大。因此,如果我在 ImageView 中显示它们,它们就会被拉伸(stretch)。

我在 Facebook 等一些应用程序中看到,当图像以全屏模式显示时,它会保持我猜的宽高比。整个图像,无论其大小如何,都会显示在屏幕上,但不会被拉伸(stretch)。图像根据需要自动调整其高度和宽度。如何实现同样的功能?

如何使 ImageView 能够根据需要调整其高度和宽度(已定义的最大值)。

   <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:scaleType="matrix"
        android:src="@drawable/defaultimage"
        android:padding="10dp" />

最佳答案

您的布局中需要不同的 android:scaleTypeImageView.ScaleType文档列出了可用的不同内容。听起来您可能想在示例中将 matrix 更改为 fitCenter

关于java - Android 在保持宽高比的同时显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27233976/

相关文章:

java - 使用 LWJGL 从 GLFW 主线程调度

Java异常: Should an exception contain its message inside or take it as parameter

android - 添加多种配置后,应用运行失败

Java - 通过MAC地址查找主机

java - 如何使用 LWJGL 将 BufferedImage 绘制到屏幕上?

java - 如何使assertEquals方法中的预期对象成为一个姿势(在函数中,请参阅下面的代码)而不是整数或 double ?

android - adb shell dumpsys 窗口窗口输出描述

java - 如何从文件夹中获取最后保存的项目的名称?

jQuery:向元素添加标题属性并从以下元素插入文本

java - 重写 JScrollPane 行为