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

时间:2019-02-05 13:52:44

标签: android android-layout android-fragments android-recyclerview

我有一个水平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

1 个答案:

答案 0 :(得分:1)

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

int findFirstVisibleItemPosition();
int findFirstCompletelyVisibleItemPosition();
int findLastVisibleItemPosition();
int findLastCompletelyVisibleItemPosition();

例如:

  

GridLayoutManager layoutManager =((GridLayoutManager)mRecyclerView.getLayoutManager());       int firstVisiblePosition = layoutManager.findFirstVisibleItemPosition();

您可以使用这些功能。