【问题标题】:Android ListView with sticky header带有粘性标题的Android ListView
【发布时间】:2014-12-19 22:55:02
【问题描述】:

是否可以在 ListView 中制作固定(粘性)标题行,但我希望它的行为类似于这张图片:

所以,当它不滚动时,我想显示“大”标题,但是当用户向下滚动足够多时,标题应该达到限制值(标题行高度的 50% 或类似的东西)......我尝试使用这个库:

https://github.com/applidium/HeaderListView

但我没有成功实施这种行为。可以固定整个(全高)标题行,但不能固定一半或一部分。

【问题讨论】:

  • 您可以尝试使用 onscrolllistener 并根据滚动位置设置标题大小。
  • 我尝试使用它,但无法检索当前滚动 Y 位置。我基本上是 iOS 开发人员,在 Android 中有点不同。

标签: android listview


【解决方案1】:

使用

View c = listview.getChildAt(0);
int scrolly = -c.getTop() + listview.getFirstVisiblePosition() * c.getHeight();

要获取当前的 Y 偏移量,然后使用 onScrollListener 播放以设置标题的大小。这基本上获取了第一个可见项的位置,将其乘以 1 行项的高度,并添加第一项的可见部分的高度,从而导致从列表视图开始的像素偏移。

【讨论】:

  • 我尝试使用此代码,但在第二行出现 NullPointerException。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 1970-01-01
  • 2021-09-06
  • 2019-09-04
相关资源
最近更新 更多