我需要知道我的RecyclerView当前显示哪些元素.OnScrollListener.onScroll(...)ListViews 上的方法没有等价物.我尝试过View.getGlobalVisibleRect(...),但是那个黑客太丑了,并不总是有用.
有人有什么想法吗?
我想dp从px编程上计算.怎么做?我得到的答案是:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
ht = displaymetrics.heightPixels;
wt = displaymetrics.widthPixels;
Run Code Online (Sandbox Code Playgroud) 在我的聊天应用程序中,我使用RecyclerView和LayoutManager来显示聊天消息列表.我有一个用户浏览旧邮件和新邮件到达的情况.此时我想以小距离滚动聊天以确认收到新消息的用户.我需要以像素为单位滚动我的RecyclerView.我发现layoutManager有方法scrollVerticallyBy,
public int scrollVerticallyBy (int dy, RecyclerView.Recycler recycler, RecyclerView.State state)
Run Code Online (Sandbox Code Playgroud)
但我对它所需的参数,RecyclerView.Recycler recycleler,RecyclerView.State状态感到困惑,我不确定它是否能完成我的工作.
换句话说,我想找到ListView.smoothScrollBy的重复版(int distance,int duration);