我有一个ScrollView,我在其中插入了一个ConstraintLayout,其中包含一个全屏ImageView以及它下面的一些其他组件。
我想要的是每当我向下滚动时图像的高度都会缩小(到一定限度)。
以下是我正在寻找的一个例子:https://imgur.com/rlOr0HA
至于调整大小,经过一些研究,我认为我必须创建一个LayoutParams对象,然后将其影响到ImageView。没问题。
但至于检测滚动事件,我遇到了一些麻烦。我在我的ScrollView上尝试了setOnScrollChangeListener,但问题是它需要一个至少为23的API级别。所以我想知道是否有另一种解决方案适用于较低级别。
我遇到的另一个问题是如何使调整大小与用户滚动的数量成比例。
答案 0 :(得分:0)
您正在寻找使用折叠工具栏执行协调器布局。这是内置到android中,您不需要任何代码更改。 inflater将使布局膨胀,一切都会起作用。
在您的xml布局文件中,您需要
<coordinatorlayout
<Appbar layout
<collapsingtoolbar
<ImageView> <-- your image goes here
/collapsingtoolbar
/Appbar layout
/coordinatorlayout
<nestedscrollview
<textview> <--Your content that moves up goes here
/nestedscrollview
<floating action button> <-- your example shows one of these buttons but its optional