相关疑难解决方法(0)

滚动时获取RecycleView的中心可见项

这就是我要的:

在此输入图像描述

如上图所示,我想绘制一条中心线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)

android scroll android-recyclerview

50
推荐指数
4
解决办法
3万
查看次数

如何制作轮子选择器

我试图让一个车轮选取器像这个 我已经试过下载此项目,但包含在.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)

android android-layout

6
推荐指数
2
解决办法
4万
查看次数