我正在尝试创建一个类似于默认设置应用程序中的WearableListView
。我有一个WearableListView
滚动,并设置每个元素的动画。我现在需要的只是列表顶部的一个标题,当列表滚动时会向上滚动。这与“设置”应用程序中标题“设置”的行为相同。
我在这里找到的唯一方法是:How to Set the Layout for topEmptyRegion,它实现了一个WearableListView.OnScrollListener()
。然后使用onAbsoluteScrollChange()
方法设置用作标题的TextView
的位移。但是,根据Android Developer References,该方法已被弃用。文档甚至声明:请注意不要使用此选项当RecyclerView的内容更改时,可能会提供错误的值。
我想知道是否有其他人找到了一种方法来实现这样的头,一个不被弃用的头。可能是我在android-wear文档中遗漏了什么?
编辑:
无论如何,我试着实现这个方法。事实证明,WearableListView.setOnScrollListener()
不需要new WearableListView.OnScrollListener()
。相反,它要求它的父节点RecyclerView.OnScrollListener
,而父节点没有onAbsoluteScrollChange()
方法。它确实有一个onScrolled()
方法,我试图实现它。事实证明,这将完全覆盖WearableListView
的默认滚动侦听器,并使其使居中项偏离中心。绝对不是我想要的效果。
最佳答案
由于onscroll()不被弃用,您可以通过在侦听器中实现它来实现相同的功能:
@Override
public void onScroll(int scroll) {
header.setY(header.getY() - scroll);
}
其中
header
是标题组件。编辑:确保使用
WearableListView.addOnScrollListener
而不是WearableListView.setOnScrollListener()