Blackberry Cascades上下文菜单从按钮单击

时间:2013-07-19 14:33:28

标签: qml blackberry-10 blackberry-cascades

我正在使用BlackBerry-10 Cascades开发应用程序。我想在单击按钮时在右侧打开上下文菜单。目前我已经拥有了按钮,按下按钮后菜单就会打开,但是按下按钮后我需要打开它。我已经尝试找到一种方法来做到这一点,但无法在文档中找到它。有没有办法可以通过按下按钮的onclicked方法调用上下文菜单?

BTW:这都是QML

5 个答案:

答案 0 :(得分:0)

我并不熟悉blackberry-cascades上可用的控件,但是,它似乎应该像将代码从onPressAndHold信号处理程序移动到onClicked信号处理程序一样简单。为了获得更好的帮助,您应该发布代码的相关代码段以及导入内容,以便我们可以找到更多信息来帮助您完成特定方案。

答案 1 :(得分:0)

actions: [
        //! [0]
        ActionItem {
            title: _webMaps.viewModeTitle
            imageSource: "asset:///images/map.png"
            ActionBar.placement: ActionBarPlacement.OnBar
            onTriggered: {
                _webMaps.nextViewMode()
                map.setMapType(_webMaps.viewMode);
            }
        },
        //! [0]
        ActionItem {
            title: qsTr("Waterloo")
            imageSource: "asset:///images/pin.png"
            ActionBar.placement: ActionBarPlacement.InOverflow
            onTriggered: {
                map.setCenter(43.468245, -80.519603);
            }
        }
    ]

试试这个样本..

答案 2 :(得分:0)

从理论上讲,你应该能够做到这一点,但我对这个想法有两个问题:

  1. 上下文菜单应该在另一个UI元素的上下文中发布。我不确定你可能有一个按钮的上下文菜单项。如果您在其他控件的上下文中发布上下文菜单,则会使您的用户感到困惑。
  2. 与平台的UI样式指南不符的古老问题。您将期望您的学习如何操作BB10 UI的用途,现在学习一组不同的界面语义。

答案 3 :(得分:0)

您可以使用BlackBerry Platform Services(BPS)库中的上下文菜单API。

https://developer.blackberry.com/native/reference/core/com.qnx.doc.bps.lib_ref/topic/manual/dialog.h_functionscontextmenufunctions.html?f=dialog

本身并不是“Cascades功能”,但您可以在Cascades应用程序中使用它。请注意,它是基于C的api,因此您必须创建某种“辅助类”并将其公开给QML。

答案 4 :(得分:0)

点击按钮,尝试this sample code打开上下文菜单。