Android 在交错布局中自动缩放imageview的高度
我有一个包含ImageView的recyclerview。但在每个图像的底部都有额外的空间。如屏幕截图所示,额外的空间是红色背景。我想所有的图像是并排的 下面是我的活动中定义布局管理器的代码Android 在交错布局中自动缩放imageview的高度,android,imageview,android-recyclerview,staggeredgridlayout,Android,Imageview,Android Recyclerview,Staggeredgridlayout,我有一个包含ImageView的recyclerview。但在每个图像的底部都有额外的空间。如屏幕截图所示,额外的空间是红色背景。我想所有的图像是并排的 下面是我的活动中定义布局管理器的代码 fun setupRecyclerView(recyclerView: RecyclerView) { val adapter = PictureAdapter() recyclerView.adapter = adapter recyclerView.layoutManager
fun setupRecyclerView(recyclerView: RecyclerView) {
val adapter = PictureAdapter()
recyclerView.adapter = adapter
recyclerView.layoutManager = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
}
以下是recyclerview中项目的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools">
<data>
<variable
name="viewModel"
type="com.my.app.viewModel.PictureViewModel" />
</data>
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="280dp"
app:imageUrl="@{viewModel.imageUrl}"
android:background="#ff0000"
android:adjustViewBounds="true"
android:scaleType="fitStart" />
</layout>
如何自动调整ImageView的高度以删除额外的间距?我不想裁剪我的形象。如果我将wrap\u content
放在ImageView的layout\u height
中,那么应用程序会变慢,滚动不平稳,我会得到很多信息
应用程序可能在其主线程上做了太多工作
您必须使用交错网格视图而不是简单网格视图。您必须使用DynamicLightImageView来代替imageview。这将自动调整图像高度,并像Pinterest应用程序中那样逐个放置图像。它完全解决了你的问题。谢谢我已经在使用交错回收视图了,但是你能给我一个DynamicLightImageView实现的链接吗?
@BindingAdapter({"bind:imageUrl"})
public static void loadImage(final ImageView view, String imageUrl) {
Picasso.with(view.getContext())
.load(imageUrl)
.into(view);
}