相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述在水平的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,但它没有显示最佳效果。
答案【在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(())】尝试将
android:adjustViewBounds="true"
设置为你的ImageView
。推荐阅读
- Android在相对布局前面设置ImageView
- Android Studio(无法在GridLayout上添加视图。安卓/浏览/搜索$ OnUnhandledKeyEventListener)
- Android使用ImageView淡入淡出
- Android imageview src正在改变
- imageView.setImageBitmap图像空白(Android 4.4)
- listitem中的Android listview imageview在滚动时隐藏
- Android(在MainActivity之外创建ImageView)
- 在android 5上设置ImageView colorFilter(api 21)
- 如何在Android Java中通过按钮的ID使用OnClickListener属性