Android 如何获取NestedScrollview的操作\u UP触摸事件

Android 如何获取NestedScrollview的操作\u UP触摸事件,android,touch-event,ontouchlistener,android-nestedscrollview,Android,Touch Event,Ontouchlistener,Android Nestedscrollview,我想单击父视图(LinearLayout)侦听器,但由于NestedScrollView(子视图)而无法单击。 因此,我尝试在嵌套的ScrollView上运行,但我只得到ACTION\u MOVE,但我需要ACTION\u UP或ACTION\u DOWN事件来执行该功能 我尝试创建自定义NestedScrollView并重写OnInterceptTouch事件和requestDisallow(false) xml 要识别操作NeedScrollView的用户,您应该将此函数置于上方 scro

我想单击父视图(LinearLayout)侦听器,但由于NestedScrollView(子视图)而无法单击。 因此,我尝试在嵌套的ScrollView上运行,但我只得到ACTION\u MOVE,但我需要ACTION\u UP或ACTION\u DOWN事件来执行该功能

我尝试创建自定义NestedScrollView并重写OnInterceptTouch事件和requestDisallow(false)

xml


要识别操作NeedScrollView的用户,您应该将此函数置于上方

scroller.setOnScrollChangeListener(object : NestedScrollView.OnScrollChangeListener{
@Override
    public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

        if (scrollY > oldScrollY) {
            Log.i(TAG, "Scroll DOWN");
        }
        if (scrollY < oldScrollY) {
            Log.i(TAG, "Scroll UP");
        }

        if (scrollY == 0) {
            Log.i(TAG, "TOP SCROLL");
        }

       if (scrollY == ( v.getMeasuredHeight() - v.getChildAt(0).getMeasuredHeight() )) {
           Log.i(TAG, "BOTTOM SCROLL");
       }
   }

})
scroller.setOnScrollChangeListener(对象:NestedScrollView.OnScrollChangeListener{
@凌驾
public void onScrollChange(嵌套ScrollView v、int scrollX、int scrollY、int oldScrollX、int oldScrollY){
如果(滚动>旧滚动){
Log.i(标记“向下滚动”);
}
如果(滚动<旧滚动){
Log.i(标记“向上滚动”);
}
如果(滚动==0){
Log.i(标记“顶部滚动”);
}
if(scrollY==(v.getMeasuredHeight()-v.getChildAt(0.getMeasuredHeight())){
Log.i(标记“底部滚动”);
}
}
})

共享您的xml文件please@Kirguduck我编辑了我的问题,请审阅
scroller.setOnScrollChangeListener(object : NestedScrollView.OnScrollChangeListener{
@Override
    public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

        if (scrollY > oldScrollY) {
            Log.i(TAG, "Scroll DOWN");
        }
        if (scrollY < oldScrollY) {
            Log.i(TAG, "Scroll UP");
        }

        if (scrollY == 0) {
            Log.i(TAG, "TOP SCROLL");
        }

       if (scrollY == ( v.getMeasuredHeight() - v.getChildAt(0).getMeasuredHeight() )) {
           Log.i(TAG, "BOTTOM SCROLL");
       }
   }

})