【发布时间】:2020-10-01 22:20:44
【问题描述】:
我在 cardView 中有一个 imageView 和一个 textView。
cardView 的 alpha 设置为 .5f。
cardView 用于垂直 recyclerView。
我在这里尝试做的是当用户滚动 reyclerView 时,完全可见的 cardView 的 alpha 应始终更改为 1f,而对于非完全可见的 cardViews alpha 保持 0.5f。
一次只有一个完全可见的 cardView。
这是我尝试过的,但它不起作用。
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int center = recyclerView.getHeight() / 2;
View centerView = recyclerView.findChildViewUnder( recyclerView.getTop(), center);
int centerPos = recyclerView.getChildAdapterPosition(centerView);
if (prevCenterPos != centerPos) {
// dehighlight the previously highlighted view
View prevView =
recyclerView.getLayoutManager().findViewByPosition(prevCenterPos);
if (prevView != null) {
prevView.setAlpha(.5f);
}
// highlight view in the middle
if (centerView != null) {
prevView.setAlpha(1f);
}
prevCenterPos = centerPos;
}
}
【问题讨论】:
标签: java android android-recyclerview android-adapter