我正在尝试创建与默认设置应用中的WearableListView
类似的WearableListView
。我有一个WearableListView.OnScrollListener()
滚动,并动画每个元素。我现在需要的是列表顶部的标题,当列表滚动时向上滚动。这与“设置”标题在“设置”应用中的行为相同。
我在此处使用的唯一方法是执行此操作:How to Set the Layout for topEmptyRegion,实现onAbsoluteScrollChange()
。然后使用TextView
方法设置用作标题的WearableListView.setOnScrollListener()
的位移。但是,根据Android Developer References,此方法已被弃用。文档甚至声明:建议不要使用当RecyclerView的内容发生变化时,这可能会提供错误的值。
我想知道是否有其他人找到了一种方法来实现一种行为方式的标头,一种不被弃用的标头。可能是我在Android Wear文档中遗漏的东西?
修改
无论如何我试图实现这个方法。事实证明,new WearableListView.OnScrollListener()
不会占用RecyclerView.OnScrollListener
。相反,它要求其父onAbsoluteScrollChange()
,它没有onScrolled()
方法。它确实有一个WearableListView
方法,我试图实现它。事实证明,这完全覆盖了Dim dtbTable As System.Data.DataTable
Dim sdaDataAdapter As New System.Data.SqlClient.SqlDataAdapter()
sdaDataAdapter = New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM A; SELECT * FROM B", Connection)
dtbTable = New System.Data.DataTable()
dtbTable.Locale = System.Globalization.CultureInfo.InvariantCulture
sdaDataAdapter.Fill(dtbTable)
sdaDataAdapter = Nothing
objCommandBuilder = Nothing
的默认滚动侦听器,并使其居中的项目可以偏离中心。绝对不是我想要的效果。
答案 0 :(得分:3)
由于onScroll()不被弃用,您可以通过在监听器中实现它来完成相同的操作:
@Override
public void onScroll(int scroll) {
header.setY(header.getY() - scroll);
}
其中header
是标题组件。
编辑:确保您使用WearableListView.addOnScrollListener
而非 WearableListView.setOnScrollListener()