Android 如何在滚动视图中设置当前项目的背景色

Android 如何在滚动视图中设置当前项目的背景色,android,android-layout,android-fragments,android-recyclerview,Android,Android Layout,Android Fragments,Android Recyclerview,我有一个水平的recyclerview,一次可以显示1.5个项目,意味着屏幕上有一个完整的项目,以及第二个项目的部分视图 我想更改背景色或将主项目或项目的alpha设置为当前位置 如果我使用下面的代码,它会为第二项设置alpha if(position == 1){ holder.itemView.setAlpha(0.5f); }else{ holder.itemView.setAlpha(1.0f); }

我有一个水平的recyclerview,一次可以显示1.5个项目,意味着屏幕上有一个完整的项目,以及第二个项目的部分视图

我想更改背景色或将主项目或项目的alpha设置为当前位置

如果我使用下面的代码,它会为第二项设置alpha

  if(position == 1){
            holder.itemView.setAlpha(0.5f);
        }else{
            holder.itemView.setAlpha(1.0f);
        }

但是我想知道一种动态的方法,将alpha 0.5f设置为其余项,1.0f设置为当前索引

任何可见子项都取决于LayoutManager。如果您使用的是LinearLayoutManager或GridLayoutManager,则可以使用这些函数

int findFirstVisibleItemPosition();
int findFirstCompletelyVisibleItemPosition();
int findLastVisibleItemPosition();
int findLastCompletelyVisibleItemPosition();
例如:

GridLayoutManager layoutManager=GridLayoutManagermRecyclerView.getLayoutManager; int firstVisiblePosition=layoutManager.findFirstVisibleItemPosition


您可以使用这些函数。

当列表被选中时,您如何知道当前索引是什么scrolling@Tufan:我在BindViewHolder上添加了一个断点,每当我滚动它时,它就会跳到该断点并给出当前索引。