使用MPAndroidChart,如何停止用户发起的持续投掷事件?
实施例: 用户向后挥动图表,图表在触摸后继续向后滚动。用户按下“恢复”按钮,应用程序调用{{1}},但实际上移动视图直到fling事件完全停止,这可能需要几秒钟。
换句话说,我正在寻找一种能够立即执行chart.moveViewToX(dataSet.getEntryCount())
而无需等待投掷完成的解决方案。
答案 0 :(得分:1)
通过调度新的ACTION_DOWN
事件,我们可以停止正在进行的投掷事件:
chart.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));
答案 1 :(得分:0)
在系统中伪造 MotionEvent 并不是最好的解决方案,尤其是没有匹配的 MotionEvent.ACTION_UP 或 ACTION_CANCEL。
对于 MPAndroidChart 可以使用
$response = $next($request);
// https://symfony.com/doc/current/components/http_foundation.html#setting-cookies
// https://github.com/symfony/symfony/blob/5.3/src/Symfony/Component/HttpFoundation/Cookie.php
$cookie = \Symfony\Component\HttpFoundation\Cookie::create("loginToken")
->withValue($loginToken)
->withExpires(strtotime("+12 months"))
->withSecure(true)
->withHttpOnly(true)
->withSameSite("strict")
;
$response->headers->setCookie($cookie);
停止投掷动作。是否实施此方法取决于您的图表类型。上面的例子假设你有一个折线图。