我正在构建一个Android应用程序,用户只需点击一下按钮即可拍照,这些照片会显示在同一个活动中。照片在RecyclerView内,RecyclerView的Orientation是水平的。我可以拍照,保存,并根据需要旋转它们。我也可以通过RecyclerView向用户显示它们,使其看起来像是一个图像库。
但是,似乎包含ImageView的单个LinearLayout占用的空间比ImageView所需的空间多得多。
这是没有任何照片的活动的屏幕截图。我为RecyclerView设置了白色背景:
使用相机拍照后,我设法拍摄照片,旋转它(因为当相机处于人像状态时,Android有时会将其保存为风景照片),并显示它。 RecyclerView适配器的布局有黑色背景和顶部的imageView。这是我使用的布局:
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">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ivPhoto"
android:scaleType="fitStart"/>
当我设置ImageView的位图被设置(在RecyclerView适配器中),文件路径作为源时,会发生这种情况:
如你所见,我有我的ImageView。但是,似乎ImageView的LinearLayout父级不包装ImageView。而不是RecyclerView具有的白色背景,LinearLayout的黑色背景是显示的。是的,这占用了整个RecyclerView。
我不知道为什么linearLayout没有包装ImageView。我也为ImageView尝试了不同的scaleTypes,但它没有显示最佳效果。