一旦用户在屏幕上看到某个元素,我想说些什么,类似于WhatsApp蓝色箭头或Messenger阅读箭头。
我发现了this的javascript帮助器,Android(本地,Kotlin或Java)中是否有类似的东西?
var isInViewport = function (elem) {
var distance = elem.getBoundingClientRect();
return (
distance.top >= 0 &&
distance.left >= 0 &&
distance.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
distance.right <= (window.innerWidth || document.documentElement.clientWidth)
);
};
var findMe = document.querySelector('#find-me');
window.addEventListener('scroll', function (event) {
if (isInViewport(findMe)) {
console.log('In viewport!');
} else {
console.log('Nope...');
}
}, false);
答案 0 :(得分:0)
我建议您不要在特定于视图的环境中实现此功能。
如果您想实现类似WhatsApp
的可见通知者,则可以简单地覆盖onResume
或Activity
的{{1}}方法,然后通知{{1 }},该消息已被看到。
如果要更具体,则另一种方法是,因为您正在聊天屏幕中使用此功能,因此可以使用Fragment
的{{1}}方法进行通知。
void onBindViewHolder(VH持有人, int位置)
由RecyclerView调用以在指定位置显示数据。 此方法应更新itemView的内容以反映 项目在给定位置。