有没有办法处理表面的触摸事件?
Is there any way to handle touch events for surface?
我想在android-auto (AA) 导航应用程序中支持地图拖动、缩放等。
很高兴阅读 car-lib announce(对旧的 androidx-car library remove: 有点失望)。但是我找不到任何用户交互处理的文档和示例。
是否有任何回调或特殊管理器来处理与 Surface
的用户交互?
在 SurfaceListener
、Surface
、NavigationTemplate
或文档中找不到任何相关内容。
AFAIK,Google 地图和 Waze 处理缩放和旋转,因为使用旧的私有 activity 提供 方法(不建议 屏幕提供 ).
文档指出 AA 负责处理输入。不确定是否适用于导航场景
Android Auto takes care of the following, in general: .... Input: Handling user input to templates via mechanisms
available in specific cars, such as a touchscreen or rotary...
处理原始触摸事件会很酷,但如果没有计划添加它(出于安全目的或其他原因),更具体的事件似乎没问题。
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,google 对 28.dec.2020 的回答是:
This is a limitation in version 1, and we are evaluating adding this functionality for future updates.
所以我们必须等待:-)
我想在android-auto (AA) 导航应用程序中支持地图拖动、缩放等。 很高兴阅读 car-lib announce(对旧的 androidx-car library remove: 有点失望)。但是我找不到任何用户交互处理的文档和示例。
是否有任何回调或特殊管理器来处理与 Surface
的用户交互?
在 SurfaceListener
、Surface
、NavigationTemplate
或文档中找不到任何相关内容。
AFAIK,Google 地图和 Waze 处理缩放和旋转,因为使用旧的私有 activity 提供 方法(不建议 屏幕提供 ).
文档指出 AA 负责处理输入。不确定是否适用于导航场景
Android Auto takes care of the following, in general: .... Input: Handling user input to templates via mechanisms available in specific cars, such as a touchscreen or rotary...
处理原始触摸事件会很酷,但如果没有计划添加它(出于安全目的或其他原因),更具体的事件似乎没问题。
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,google 对 28.dec.2020 的回答是:
This is a limitation in version 1, and we are evaluating adding this functionality for future updates.
所以我们必须等待:-)