gpt4 book ai didi

android - ListView 中的自定义 onInterceptTouchEvent

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:33 29 4
gpt4 key购买 nike

如何在 ListView 中实现自定义 onInterceptTouchEvent(),将滚动优先级分配给 ListView 的子级并尽快当他们滚动时,将其返回给 ListView ?我想优先考虑内部观点。

最佳答案

尝试像这样覆盖您的 child 的 onInterceptTouchEvent():

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if(!isAtTop && !isAtBottom){
getParent().requestDisallowInterceptTouchEvent(true);
}
return super.onInterceptTouchEvent(ev);
}

onInterceptTouchEvent() 中计算 ListView 是否完全滚动到顶部或底部。如果介于两者之间,则要求 parent 不要拦截触摸。

检查顶部或底部尝试:

int scrollRange = computeVerticalScrollRange();
int scrollOffset = computeVerticalScrollOffset();
int scrollExtend = computeVerticalScrollExtent();
if(scrollOffset == 0){
//AtTop
}else if(scrollRange == scrollOffset + scrollExtend){
//AtBottom
}

关于android - ListView 中的自定义 onInterceptTouchEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719787/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com