Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在交错布局中自动缩放imageview的高度_Android_Imageview_Android Recyclerview_Staggeredgridlayout - Fatal编程技术网

Android 在交错布局中自动缩放imageview的高度

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

我有一个包含ImageView的recyclerview。但在每个图像的底部都有额外的空间。如屏幕截图所示,额外的空间是红色背景。我想所有的图像是并排的

下面是我的活动中定义布局管理器的代码

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);
}