Я разрабатываю собственное приложение 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 запускаются даже при нажатии на кнопку и не отходят от кнопки. Я также хотел бы воспроизвести тон (код не показан), но сначала мне нужно, чтобы изменение цвета работало правильно.
Кто-нибудь знает, что мне нужно изменить, чтобы это работало правильно
Спасибо