d.a*_*mon 1 android watch-face-api wear-os
我有一个基于最新API(扩展CanvasWatchFaceService.Engine)的表盘.现在我想让触摸事件在表盘上有一些活动区域可以触摸打开设置等.CanvasWatchFaceService.Engine继承自WallpaperService.Engine,它声明了两个重要的方法:setTouchEventsEnabled(boolean)和onTouchEvent(MotionEvent).
但即使我setTouchEventsEnabled(true)在onCreate()方法中调用,Engine我也从未接到过onTouchEvent(MotionEvent)在我的引擎实现中的调用.
我做错了什么或者根本不可能?我知道一些提供活动区域的表盘,但我不确定它们是基于最新的API还是基于弃用的API构建(使用布局和GUI元素).
在新的Android Wear 1.3中使用Interactive Watch Face API:
更新:
onCreate在CanvasWatchFaceService.Engine基础类的函数中只向init函数添加一行:
setWatchFaceStyle(new WatchFaceStyle.Builder(mService)
.setAcceptsTapEvents(true)
// other style customizations
.build());
Run Code Online (Sandbox Code Playgroud)
并管理下的点击事件
@Override
public void onTapCommand(int tapType, int x, int y, long eventTime) { }
Run Code Online (Sandbox Code Playgroud)
笔记:
tapType==TAP_TYPE_TAP)TAP_TYPE_TOUCH,TAP_TYPE_TOUCH_CANCEL您可以猜测滑动手势,但TAP_TYPE_TOUCH_CANCEL不提供退出坐标.欲了解更多控制你唯一的办法是增加一个SYSTEM_ALERT层和切换它基于关闭/开启您可以从收集信息onVisibilityChanged和onAmbientModeChanged...
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |