WearableListView标题

时间:2015-10-20 16:56:24

标签: android scroll android-recyclerview wear-os

我正在尝试创建与默认设置应用中的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 的默认滚动侦听器,并使其居中的项目可以偏离中心。绝对不是我想要的效果。

1 个答案:

答案 0 :(得分:3)

由于onScroll()不被弃用,您可以通过在监听器中实现它来完成相同的操作:

@Override
public void onScroll(int scroll) {
    header.setY(header.getY() - scroll);
}

其中header是标题组件。

编辑:确保您使用WearableListView.addOnScrollListener 而非 WearableListView.setOnScrollListener()