在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(())

相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)相关的知识,希望能为你提供帮助。
我正在构建一个android应用程序,用户只需点击一下按钮即可拍照,这些照片会显示在同一个活动中。照片在RecyclerView内,RecyclerView的Orientation是水平的。我可以拍照,保存,并根据需要旋转它们。我也可以通过RecyclerView向用户显示它们,使其看起来像是一个图像库。
但是,似乎包含ImageView的单个LinearLayout占用的空间比ImageView所需的空间多得多。
这是没有任何照片的活动的屏幕截图。我为RecyclerView设置了白色背景:

在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(())

文章图片

使用相机拍照后,我设法拍摄照片,旋转它(因为当相机处于人像状态时,Android有时会将其保存为风景照片),并显示它。 RecyclerView适配器的布局有黑色背景和顶部的imageView。这是我使用的布局:
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#000000"> < ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ivPhoto" android:scaleType="fitStart"/> < /LinearLayout>

当我设置ImageView的位图被设置(在RecyclerView适配器中),文件路径作为源时,会发生这种情况:
在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(())

文章图片

如你所见,我有我的ImageView。但是,似乎ImageView的LinearLayout父级不包装ImageView。而不是RecyclerView具有的白色背景,LinearLayout的黑色背景是显示的。是的,这占用了整个RecyclerView。
我不知道为什么linearLayout没有包装ImageView。我也为ImageView尝试了不同的scaleTypes,但它没有显示最佳效果。
答案【在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(())】尝试将android:adjustViewBounds="true"设置为你的ImageView

    推荐阅读