在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)相关的知识,希望对你有一定的参考价值。
我正在构建一个android应用程序,用户只需点击一下按钮即可拍照,这些照片会显示在同一个活动中。照片在RecyclerView内,RecyclerView的Orientation是水平的。我可以拍照,保存,并根据需要旋转它们。我也可以通过RecyclerView向用户显示它们,使其看起来像是一个图像库。
但是,似乎包含ImageView的单个LinearLayout占用的空间比ImageView所需的空间多得多。
这是没有任何照片的活动的屏幕截图。我为RecyclerView设置了白色背景:
使用相机拍照后,我设法拍摄照片,旋转它(因为当相机处于人像状态时,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适配器中),文件路径作为源时,会发生这种情况:
如你所见,我有我的ImageView。但是,似乎ImageView的LinearLayout父级不包装ImageView。而不是RecyclerView具有的白色背景,LinearLayout的黑色背景是显示的。是的,这占用了整个RecyclerView。
我不知道为什么linearLayout没有包装ImageView。我也为ImageView尝试了不同的scaleTypes,但它没有显示最佳效果。
尝试将android:adjustViewBounds="true"
设置为你的ImageView
。
以上是关于在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)的主要内容,如果未能解决你的问题,请参考以下文章
在垂直 recyclerView 中带有 wrap_content 的水平 recyclerView
如何仅显示从当前位置到水平 RecyclerView 的一项?
水平 RecyclerView 中的 VideoView 在滑动时显示墙纸