【问题标题】:Settings menu UI implementation设置菜单 UI 实现
【发布时间】:2013-04-08 21:13:24
【问题描述】:

我正在尝试实现一个 BB10 设置菜单,例如,看起来像日历应用程序中的那个。这里的问题是,我应该使用哪些组件?将 ListView 与 XML 模型一起使用看起来很棒,但与翻译不兼容。对于一个包含几个条目的简单菜单,使用 C++ 模型看起来有点过分…… 某处可能有一个既定的模式,但我找不到它。

Screenshot of the Calendar app settings view

【问题讨论】:

  • 您能否更好地解释“设置菜单”的含义。我在日历应用程序中看不到设置选项。如果可以的话,也许截图可能会有所帮助。
  • 可以通过应用菜单访问设置(从屏幕顶部向下滚动)。我添加了一个屏幕截图。

标签: c++ qml blackberry-10 blackberry-cascades


【解决方案1】:

您想要的是title bar 的可消耗内容属性:

【讨论】:

  • 我对那个有问题。我试图在文档上复制/粘贴示例,但 NDK 和手机无法识别 kindProperties、FreeFormTitleBarKindProperties 和 TitleBarKind.FreeForm:SettingsPage.qml:93:25:FreeFormTitleBarKindProperties 不是 kindProperties 类型:FreeFormTitleBarKindProperties
  • 是的,忘记了。自 SDK 1.1 起,这仅适用于开发人员。适用于 devAlpha C 和 Z10 的下一次更新
  • 好的,谢谢。我暂时使用 Hyarion 的解决方案,等新的 SDK 可供所有人使用后,我会切换到您的解决方案。
【解决方案2】:

我会创建一个 QML 对象,您可以为每个条目重复使用该对象,其中包含标题和图像的属性。

例如,可能是这样的:

SettingEntry.qml

Container {
    property alias title:title.Text
    signal click()
    TextView {
        id: title
        text: "[title goes here]"
    }
    gestureHandlers: [
        TapHandler {
             onTapped: {
                 click();
             }                
        }
    ]
}

然后在您的设置页面中,您可以像使用普通对象一样使用它:

Page {
    Container {
        SettingEntry {
            title: "General"
            onClick: {
                //open general page
            }
        }
        SettingEntry {
            title: "Invitation Settings"
        }
    }
}

上面的内容显然非常简化,您可能想要包含一个图标图像,添加翻译代码并添加视觉调整,例如填充宽度和填充。
但是,它应该能让您很好地了解从哪里开始。

我还包含了一个手势处理程序和信号,向您展示如何处理点击等事件。

【讨论】:

  • 我虽然有一个标准化的方法来做到这一点。如果没有,我会这样做。感谢您的代码!
  • 有一种标准化的方法可以使用 titleBar 中的可消耗区域,这就是 Calendar...
猜你喜欢
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 2013-06-15
相关资源
最近更新 更多