我在 ViewPager 中有一个简单的 ListView,在屏幕右下角有一个 float 操作栏。
我想为它实现快速返回模式,这样当我滚动 ListView 时,FAB 会在屏幕上向下移动并出现在相反的滚动条上。
提前致谢。
编辑:
list.setAdapter(new QuickReturnAdapter(adapter));
quickReturnAttacher = QuickReturnAttacher.forView(list);
quickReturnAttacher.addTargetView(floatMenu, AbsListViewScrollTarget.POSITION_BOTTOM, dpToPx(context, 400));
if (quickReturnAttacher instanceof AbsListViewQuickReturnAttacher) {
// This is the correct way to register an OnScrollListener.
// You have to add it on the QuickReturnAttacher, instead
// of on the viewGroup directly.
final AbsListViewQuickReturnAttacher attacher = (AbsListViewQuickReturnAttacher) quickReturnAttacher;
attacher.addOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});
}
然后我正在使用 quickReturnAttacher.setOnItemClickListener 并且这不起作用。
最佳答案
这个功能已经有一个开源库。 https://github.com/felipecsl/QuickReturn
试试这个:
final AbsListViewQuickReturnAttacher attacher = (AbsListViewQuickReturnAttacher) quickReturnAttacher;
attacher.addOnScrollListener(this);
attacher.setOnItemClickListener(this);
});
对我来说这是可行的,回调中传递的位置是正确的。 您必须将点击监听器注册到附件,而不是列表。
如何在类 AbsListViewQuickReturnAttacher
中找不到方法 setOnItemClickListener
?
关于android - FAB 和 ListView 的快速返回模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28716172/