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