有什么方法可以处理表面的触摸事件吗?

问题描述

我想在android-auto(AA)导航应用程序中支持地图拖动,缩放等。 看到car-lib宣布感到非常兴奋(对旧的androidx-car库remove:有点失望)。但是我找不到任何用户交互处理的文档和示例。

是否有任何回调或专门的经理来处理与Surface用户交互? 在SurfaceListenerSurfaceNavigationTemplate或文档中找不到任何相关内容。 AFAIK,Google Maps和Waze由于使用了旧的私有活动提供方法(不建议使用屏幕提供)来处理缩放和旋转。

文档指出,AA负责输入。不确定是否适用于导航方案。

Android Auto通常会注意以下事项:....输入:通过机制处理用户对模板的输入 可在特定的汽车中使用,例如触摸屏或旋转式汽车...

处理原始触摸事件会很酷,但是如果没有计划添加此事件(出于安全目的或其他目的),则更具体的事件似乎还可以。

interface SurfaceListener {
...
void onSurfaceScaleChanged(Float scale);
void onSurfaceRotated(Float angle);
void onSurfaceDragging(Int x,Int y);
void onSurfaceClicked(Int x,Int y);
...
}

解决方法

这里有一个悬而未决的问题:https://issuetracker.google.com/issues/171715013,谷歌对于 28.dec.2020 的回答是:

这是版本 1 中的限制,我们正在评估是否添加此功能以供将来更新。

所以我们必须等待:-)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...