Вы должны быть в состоянии сделать это так:
@Override
public boolean onTouchEvent(MotionEvent ev) {
((ConstraintLayout)getChildAt(0)).requestDisallowInterceptTouchEvent(true);
return super.onTouchEvent(ev);
}
Вы всегда можете получить доступ к дочерним представлениям (представления, вложенные глубже, чем ваш текущий просмотр) с помощью getChildAt
. Поскольку requestDisallowInterceptTouchEvent
доступен только для ViewGroups, вы должны привести его непосредственно к вашему ConstraintLayout или - для лучшей повторного использования - к ViewGroup.
Обратите внимание, что я не включил никаких проверок, если ребенок доступен.
Этот код также одинаков для Kotlin и Java. Это не имеет никакого значения (синтаксически да, но концепция та же самая).