我有一个水平recyclerview
,它可以一次显示1.5个项目,意味着在屏幕上有1个完整项目,而第二个项目则是部分视图。
我要更改背景颜色或将主要项目或项目的alpha设置在当前位置。
如果我使用以下代码,它将第二项设置为alpha。
if(position == 1){
holder.itemView.setAlpha(0.5f);
}else{
holder.itemView.setAlpha(1.0f);
}
但是我想知道一种动态方式来为其余项目设置alpha 0.5f
,为当前索引设置1.0f
。
答案 0 :(得分:1)
任何可见子项都取决于LayoutManager。如果您使用的是LinearLayoutManager或GridLayoutManager,则可以使用这些功能
int findFirstVisibleItemPosition();
int findFirstCompletelyVisibleItemPosition();
int findLastVisibleItemPosition();
int findLastCompletelyVisibleItemPosition();
例如:
GridLayoutManager layoutManager =((GridLayoutManager)mRecyclerView.getLayoutManager()); int firstVisiblePosition = layoutManager.findFirstVisibleItemPosition();
您可以使用这些功能。