问题描述
我想在android-auto(AA)导航应用程序中支持地图拖动,缩放等。 看到car-lib宣布感到非常兴奋(对旧的androidx-car库remove:有点失望)。但是我找不到任何用户交互处理的文档和示例。
是否有任何回调或专门的经理来处理与Surface
的用户交互?
在SurfaceListener
,Surface
,NavigationTemplate
或文档中找不到任何相关内容。
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 中的限制,我们正在评估是否添加此功能以供将来更新。
所以我们必须等待:-)