0

我想在 Black Berry 10 开发中使用 Cascades 创建一个按钮,它有一个图像作为背景,也可能是一个白色的文本。我找到了此类按钮,但它似乎不支持将图像设置为按钮上的背景。我能做些什么?有哪些替代方法?也许我应该考虑使用 Cascades 之外的另一个库来创建我的 UI ???有什么建议么?

4

3 回答 3

2
 Container {
        id:account
        signal buttonClicked()
        layout: DockLayout {
        }
        preferredWidth: 768.0
        topMargin: 40.0
        bottomMargin: 40.0
        ImageButton {
            id: addButton
            defaultImageSource: "image/button_normal.png"
            pressedImageSource: "image/button_press.png"
            horizontalAlignment: HorizontalAlignment.Center
            onClicked: {
               buttonClicked();
            }
        }
        Label {
            text: "Add"
            verticalAlignment: VerticalAlignment.Center
            horizontalAlignment: HorizontalAlignment.Center
            textStyle {
                base: SystemDefaults.TextStyles.BodyText
                fontSize: FontSize.Small
                color: Color.create("#ffffff")
            }
            touchPropagationMode: TouchPropagationMode.None
        }
    }
于 2013-03-06T04:29:33.670 回答
0

您可以使用默认的 Button 类来拥有一个包含文本和图像的按钮:cascades_button.html">https://developer.blackberry.com/cascades/reference/bb_ cascades _button.html

不建议在按钮上使用背景图像,顶部有文本。按钮应该清晰易读。在此处查看 BlackBerry 10 UI 指南:https ://developer.blackberry.com/devzone/files/design/bb10/UI_Guidelines_BlackBerry_10.pdf

如果你真的想这样做,你总是可以在 Cascades 中构建一个自定义组件,其中包含一个顶部带有标签的图像。

于 2013-02-08T21:40:43.677 回答
0

我遇到了同样的问题。

最后,正如 PBernhardt 所说,我创建了一个带有 ImageView 或背景图像的自定义 Container,并在里面添加了一个 Label。
然后,我重写了 onTouch 以捕捉不同的触摸状态(event.isDown()、event.isMove()、event.isUp())并相应地更新按钮图形(文本颜色和背景图像)。

我正在使用 Q_INVOKABLE 方法绑定我的 C++ 文件。

于 2013-02-20T22:12:26.497 回答