是否有非哈克的方式来改变颜色只是标题中使用的是Ubuntu SDK的应用程序?MainView
具有一个headerColor
属性,但是将其用作渐变的第一步。目前,我只是在上面放一个彩色的矩形:
Rectangle {
id: headerBackground
height: header.height
width: header.width
anchors.top: parent.top
color: "#288369"
}
但这会导致许多问题,最值得注意的是,它无法ListView
填满整个页面。完整的例子可以在这个要点中找到。
迈克尔对Karma Machine实施的指示确实为我指明了正确的方向。关键是将矩形注入标头中,以便它是适当的子级。如果您在单独的qml文件中包含矩形,则可以使用Michael提到的createObject()方法来完成,或者可以将createQmlObject与QML字符串一起使用。
下面是一个经过简化的示例(使用Tabs,但使用PageStack可以实现相同的效果):
import QtQuick 2.0
import Ubuntu.Components 0.1
MainView {
id: mainView
width: units.gu(40)
height: units.gu(60)
Tabs {
id: tabs
Tab {
title: i18n.tr("Colored Header")
page: Page {
}
}
}
Component.onCompleted: {
tabs.tabBar.__styleInstance.headerTextSelectedColor = "white";
var component = Qt.createQmlObject(
'import QtQuick 2.0; Rectangle { anchors.fill: parent; z: -1; color: "#288369"; }',
tabs.header);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句