这就是我要的:
如上图所示,我想绘制一条中心线RecycleView,然后在滚动时(以及向左或向右移动)获取中心项目.
这是我尝试绘制水平线RecycleView:
HorizontalAdapter adapter = new HorizontalAdapter(data);
LinearLayoutManager layoutManager
= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recycleView.setLayoutManager(layoutManager);
recycleView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
有没有办法知道哪个项目被移动到中心RecycleView?如何RecycleView向左或向右滚动一个位置?
更新:我试图使用滚动侦听器来获得中间位置,但它不能作为方面.
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int firstPos = layoutManager.findFirstVisibleItemPosition();
int lastPos = layoutManager.findLastVisibleItemPosition();
int middle = Math.abs(lastPos - firstPos) / 2 + firstPos;
int selectedPos = -1;
for (int i = 0; i < adapter.getItemCount(); i++) {
if (i == middle) {
adapter.getItem(i).setSelected(true);
selectedPos …Run Code Online (Sandbox Code Playgroud) 我试图让一个车轮选取器像这个 我已经试过下载此项目,但包含在.zip下载的文件只有轮demo.apk和notes.txt.Notes.txt没有关于如何在android studio中使用此文件的任何说明.我找到了一篇建议使用ListViews创建相同效果的帖子.而不是自己做我自己花了一天时间搜索互联网,我在这里找到了源代码,但当我将文件导入我的项目时,IDE显示了几十个错误.通过反复试验,我设法修复了除3个错误之外的所有错误.很确定我已将相关代码放在下面
MainActivity.java:
OnWheelScrollListener scrolledListener = new OnWheelScrollListener()
{
public void onScrollingStarted(WheelView wheel)
{
wheelScrolled = true;// "Cannot resolve symbol wheelScrolled
}
public void onScrollingFinished(WheelView wheel)
{
wheelScrolled = false;// "Cannot resolve symbol wheelScrolled
updateStatus();
}
};
// Wheel changed listener
private final OnWheelChangedListener changedListener = new OnWheelChangedListener()
{
public void onChanged(WheelView wheel, int oldValue, int newValue)
{
if (!wheelScrolled)// "Cannot resolve symbol wheelScrolled
{
updateStatus();
}
}
};
private void initWheel1(int id)
{ …Run Code Online (Sandbox Code Playgroud)