首页 > 解决方案 > 如何使用折叠工具栏布局实现这种布局效果

问题描述

我希望折叠工具栏布局看起来像这样,它像默认值一样可见。

默认看起来像这样

在向上滚动减少的高度,ImageView它看起来像这样:

在滚动图像上

将高度降低ImageView 30% 到 40% 后,整个布局会随着缩小的ImageView.reduce滚动。reduceImageView必须是滚动而不是收缩。

我需要一些我真正坚持的起点。

在整个场景中,工具栏保持在其位置,工具栏没有任何反应。

标签: javaandroidlayout

解决方案


这是我能够想出的工作解决方案。

onCreate班级:

    val displayMetrics = baseContext.resources.displayMetrics
    //setting the "zoomed in" effect on the image
    image.layoutParams.width = displayMetrics.widthPixels + displayMetrics.widthPixels / 2
    val originalWidth = image.layoutParams.width
    scroll_view.setOnScrollChangeListener { _: NestedScrollView?, _: Int, y: Int, _: Int, _: Int ->
        //adjust "if" check and formula as you wish
        if (y < 200) {
            image.layoutParams.width = (originalWidth - y*1.5).toInt()
            image.requestLayout()
        }
    }

一些澄清。我根据屏幕的大小更改图像的宽度,以便图像首先“放大”,然后随着用户向下滚动,它会缩小到原始形式。

还要确保您recyclerView.setNestedScrollingEnabled(false);在 RecyclerView 上有您希望平滑滚动。

如果出现以下结果:

在此处输入图像描述


推荐阅读