Как веб-просмотр может заполнить всю страницу?

Я разрабатываю мобильное приложение BlackBerry 10, используя IDE-компонент моментальных действий (нативный SDK).

Я пытаюсь вставить в qml-страницу веб-представление о том, что его отображение должно занять родительское отверстие
Размеры контейнера (ширина и высота), как указано в коде ниже. Но по причине, которую я не нашел, это не так. У кого-нибудь есть идеи по этому поводу?

    Page {
content: Container {
id: mainEntryContainer
objectName: "mainEntryContObj"
layout: StackLayout {
orientation: LayoutOrientation.TopToBottom
}

background: Color.create("#292929")

FastBarHeader {
id: headerContainer
objectName: "headerContObj"}

Container {
id: choosedOptionContainer
objectName: "choosedOptionContObj"
layoutProperties: StackLayoutProperties {
spaceQuota: 8
}

WebView {
id: htmlViewerItem
objectName: "htmlViewerItemObj"
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill

settings.cookiesEnabled: true
settings.javaScriptEnabled: true

settings.devicePixelRatio: 1.0
settings.viewport: {
"initial-scale": 1.0
}

onLoadingChanged: {
if (loadRequest.status == WebLoadStatus.Succeeded) {
indicatorProgress.progIndicatorLabelValue = "Load finished."visible = true
indicatorProgress.visible = false
} else if (loadRequest.status == WebLoadStatus.Failed) {
indicatorProgress.progIndicatorLabelValue = "Load failed."}

}

accessibility.name: "web content"}
}

FastBarFooter {
}

}
}

0

Решение

Я считаю, что вам нужно обернуть WebView внутри ScrollView (это позволяет веб-просмотру правильно прокручивать при необходимости).

Вот как мне это сделать:

ScrollView {
id: scrollview

implicitLayoutAnimationsEnabled: false
scrollViewProperties.minContentScale: 1.0

WebView {
id: webview
preferredHeight: Infinity
preferredWidth: Infinity

// viewport setup
settings.viewport: {
"width": "device-width",
"height": "device-height",
"initial-scale": 1.0
}
} // WebView

} // ScrollView
1

Другие решения

Вы можете сделать контейнеры с и увеличить предпочтительный размер WebView с этим в родительском контейнере:

attachedObjects: LayoutUpdateHandler {
onLayoutFrameChanged: {
<your_webview_id>.preferredWidth = layoutFrame.width;
<your_webview_id>.preferredHeight = layoutFrame.height;
}
}
0