ubuntu手机文本框显示不同

ubuntu手机文本框显示不同

我正在尝试为 Ubuntu 手机构建一个 QML 应用程序。我的表单在屏幕上(桌面)看起来不错,但当我将应用程序放到手机上时,显示屏关闭了。我的测试字段周围的边框不可见。请参见下面的图片。 手机上显示 显示在桌面上

我怎样才能解决这个问题?

感谢您的帮助。

答案1

如果文本字段是只读的,则文本字段的背景不可见。对我来说,它们在手机和桌面上都是不可见的(15.04)。

主题样式文件 /usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/TextAreaStyle.qml(qtdeclarative5-ubuntu-ui-toolkit-plugin:amd64 1.2.1458+15.04.20150422-0ub)表明这是有意的:

property Component background: UbuntuShape {
    property bool error: (styledItem.hasOwnProperty("errorHighlight") && styledItem.errorHighlight && !styledItem.acceptableInput)
    onErrorChanged: (error) ? visuals.errorColor : visuals.backgroundColor;
    color: visuals.backgroundColor;
    anchors.fill: parent
    visible: !styledItem.readOnly
}

理想的解决方法(由于此版本中没有 Ubuntu.Components.Styles,因此尚不起作用)是覆盖样式:

import QtQuick 2.4
import Ubuntu.Components 1.2
import Ubuntu.Components.Styles 1.2

TextField {
    readOnly: true

    style: TextFieldStyle {
        background: UbuntuShape {
            color: Theme.palette.normal.field
            anchors.fill: parent
        }
    }
}

现在,我只能想到这样的硬编码背景:

TextField {
    readOnly: true

    UbuntuShape {
        z: -1
        color: Theme.palette.normal.field
        anchors.fill: parent
    }
}

相关内容