我正在开发一个 BB10 Cascades 本机应用程序。我使用一些容器作为按钮,因为我需要自定义外观。因此,我使用 onTouch 事件来处理“按下”。我想做的是在按下“按钮”时播放音调,并在释放“按钮”时停止音调。
这是代码
Container {
property alias image: imagev.imageSource
id: dialbutton
signal onTouch()
signal onTouchExit()
background: Color.create("#ff0000FF")
ImageView {
id: imagev
scalingMethod: ScalingMethod.AspectFit
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
}
onTouch: {
if (event.touchType == TouchType.Down) {
dialbutton.background = Color.Blue;
dialbutton.onTouch(event);
}
else if (event.touchType == TouchType.Up)
{
dialbutton.background = Color.create("#ff00FF00");
}
}
onTouchExit:
{
dialbutton.background = Color.create("#ff00FF00");
dialbutton.onTouchExit();
}
}
我遇到的问题是,当点击“按钮”时,颜色应该变为蓝色,然后在释放时恢复。但是,如果我点击按钮,然后按住它并离开按钮,它会保持蓝色。这是 onTouchExit 应该解决的问题,但它并没有真正以这种方式工作,因为即使按下按钮而不离开按钮也会触发 onTouchExit 事件。我也想播放一个音调(代码未显示),但我需要先让颜色变化正常工作。
任何人都知道我需要改变什么才能使其正常工作
谢谢