Android 如何在滚动视图中设置当前项目的背景色
我有一个水平的recyclerview,一次可以显示1.5个项目,意味着屏幕上有一个完整的项目,以及第二个项目的部分视图 我想更改背景色或将主项目或项目的alpha设置为当前位置 如果我使用下面的代码,它会为第二项设置alphaAndroid 如何在滚动视图中设置当前项目的背景色,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); }
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上添加了一个断点,每当我滚动它时,它就会跳到该断点并给出当前索引。