recycleview可见位置_判断view是否在可见区域

本文探讨如何使用RecyclerView的`getLocalVisibleRect()`和`getGlobalVisibleRect()`方法来判断视图是否在可见区域。通过监听RecyclerView的滚动事件,并结合`findViewByPosition()`和`getChildViewHolder()`,在滚动过程中分析`Rect`对象的`top`属性变化,以确定视图的可见状态。当`rect.top == 0`时,视图完全可见。
摘要由CSDN通过智能技术生成

一,view.getLocalVisibleRect(rect);以目标view的左上角为参考系;

view.getGlobalVisibleRect(rect);以屏幕的左上角为参考系;

二,在recycler的一个item中,写了一个textview,滑动recyclerview使textview从可见到不可见,测试代码如下:

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

@Override

public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {

super.onScrolled(recyclerView, dx, dy);

RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();

View viewByPosition = layoutManager.findViewByPosition(0);

RecyclerView.ViewHolder childViewHolder = recyclerView.getChildViewHolder(viewByPosition);

if (childViewHolder instanceof MyViweHolder) {

Rect r = new Rect();

boolean localVisibleRect1 = ((MyViweHolder) childViewHolder).tvNumber.getLocalVisib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值