Rut*_*dla 6 android scrollview mpandroidchart
我有一个ScrollView中包含的LineChart.当图表足够长以使用户无需滚动以完整地查看它时,拖动功能就会变得无法响应.拖动手势仅在我在图表边界中将手指按住一小段时间时才会记录,然后拖动.
我已经尝试使用requestDisallowInterceptTouchEvent方法,该方法应该阻止图表的父母拦截触摸事件(但这并没有解决任何问题).我也尝试直接将ScrollView注册的MotionEvents直接传递给图表/翻译拖动手势来翻译Y调用,但这并没有达到我想象的效果.
注意:缩放继续完美运行.
此外,当图形适合原始窗口或放置在任何不是ScrollView的视图中时,这不是问题.我考虑过摆脱ScrollView,但这是我项目中非常必要的功能.
关于为什么会发生这种情况的任何想法将不胜感激!
编辑:LineChart具有固定的高度
这个问题有点老了,但我最近遇到了同样的问题,为了解决它,我做了以下事情。
前任。
clickInterceptorGraph.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return onTouchActionHandler(v, event);
}
});
Run Code Online (Sandbox Code Playgroud)
前任。
protected boolean onTouchActionHandler(View v, MotionEvent event){
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow RecyclerView to intercept touch events.
scrollView.requestDisallowInterceptTouchEvent(true);
Log.e(TAG, "onTouchActionHandler: ACTION_DOWN" );
// Disable touch on transparent view
return false;
default:
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
*** 您可以在 setOntouchListener 上执行所有操作,但就我而言,我需要重用 requestDisallowInterceptTouchEvent。
| 归档时间: |
|
| 查看次数: |
814 次 |
| 最近记录: |