当我按下“选择”按钮时,我试图实现一个按钮动作,在我的ScrollLayer上显示文本。我用过:
scroll_layer_set_click_config_onto_window(scrollLayer, window);
自动设置BUTTON_UP和BUTTON_DOWN回调函数(滚动)。那么我想设置一个BUTTON_SELECT回调函数。我写了这两个函数:
//Performs an action whenver the 'select' button is pressed
void select_click_handler(ClickRecognizerRef recognizer, void *ctx) {
text_layer_set_text(textLayer, "You pressed select");
}
//Links the select button to a function, select_click_handler
void click_config_provider(void *ctx) {
window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler);
}
在我的初始化程序中,我有:
void init() {
window = window_create();
window_set_window_handlers(window, (WindowHandlers) {
.load = window_load,
.unload = window_unload,
});
window_set_click_config_provider(window, click_config_provider);
window_stack_push(window,true);
}
当我运行它时,它在手表上编译和安装就好了,但是,当我按下选择按钮时,没有任何反应。当我评论scroll_layer_set_click_config_onto_window(scrollLayer, window);
时
它的工作原理应该如此。
有没有办法覆盖选择按钮回调而不必注释掉上面的行?
提前致谢!
答案 0 :(得分:1)
我在这里使用scroll_layer_set_callbacks()
函数找到了一个简单的解决方法:
http://forums.getpebble.com/discussion/11432/scroll-layer-set-callbacks
答案 1 :(得分:1)
现在您可以在Pebble官方文档(SDK 2.0)中找到它。
ScrollLayer // Pebble Developers http://developer.getpebble.com/docs/c/User_Interface/Layers/ScrollLayer/
可以使用scroll_layer_set_callbacks()安装单击配置提供程序来配置SELECT按钮。