Sol*_*dus 5 qt android qml qtquick2
我正在开发一个应用程序,它有一个类似于 Gmail/Inbox 应用程序菜单的菜单,适用于 Android。基本上,当您按下按钮打开菜单时,它会滑入视图。用户可以将其滑开或按下菜单上的按钮。对于滑动,我使用了SwipeArea来自kovrov的代码,稍作改动来检查按下和释放之间的速度 - 如果它太慢,我不认为它是滑动。我还在MouseArea, ie上将传播属性设置为 truepropagateComposedEvents: true并为 clicked 事件添加了以下代码:
onClicked: {
mouse.accepted = false;
}
Run Code Online (Sandbox Code Playgroud)
现在我有以下代码:
Button {
x: 10
y: 50
width: 200
onClicked: {
console.log("Button clicked!");
}
}
SwipeArea {
anchors.fill: parent
onMove: {
var newX = menu.x + x;
if(newX <= menu.maxX && newX >= menu.minX) menu.x = newX;
}
onSwipe: {
if(direction === "left" && timePassed <= menu.fastSwipe) root.hideMenu(menu.x, timePassed);
else {
var middle = menu.width/2;
var end = menu.x + menu.width;
if(end > middle) root.showMenu(menu.x);
else if(end <= middle) root.hideMenu(menu.x);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果Button呈现在顶部(下面的代码SwipeArea)它可以工作,但滑动将无法在Button. 如果Button被替换为 ,MouseArea则事件被正确触发。似乎该事件没有被传播?有没有办法将事件传播到按钮?还是我要创造我自己的按钮(Rectangle用MouseArea,例如)?
感谢您的时间。
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |