add simple layout demo

This commit is contained in:
王劲鹏 2021-03-01 18:59:09 +08:00 committed by osborn
parent 257f3f0dab
commit e35f0a79c4
6 changed files with 71 additions and 36 deletions

View File

@ -8,9 +8,15 @@
DoricDemoBridge::DoricDemoBridge(QObject *parent) : QObject(parent) {} DoricDemoBridge::DoricDemoBridge(QObject *parent) : QObject(parent) {}
void DoricDemoBridge::navigate(QVariant route) { void DoricDemoBridge::navigate(QVariant route) {
QString name;
switch (route.toInt()) { switch (route.toInt()) {
case 0: case 0:
QString name = "Snake.es5.js"; name = "SimpleDemo.es5.js";
break;
case 1:
name = "Snake.es5.js";
break;
}
QString script = DoricUtils::readAssetFile("/doric/bundles", name); QString script = DoricUtils::readAssetFile("/doric/bundles", name);
QQuickView *view = new QQuickView(); QQuickView *view = new QQuickView();
@ -35,6 +41,4 @@ void DoricDemoBridge::navigate(QVariant route) {
} }
view->show(); view->show();
break;
}
} }

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.14.0, 2021-03-01T11:14:08. --> <!-- Written by QtCreator 4.14.0, 2021-03-01T18:01:24. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@ -4,13 +4,11 @@
<file alias="qtquickcontrols2.conf">./resources/qtquickcontrols2.conf</file> <file alias="qtquickcontrols2.conf">./resources/qtquickcontrols2.conf</file>
</qresource> </qresource>
<qresource prefix="/doric"> <qresource prefix="/doric">
<file alias="doric-sandbox.js">../../doric-js/bundle/doric-sandbox.js</file>
<file alias="doric-sandbox.es5.js">../../doric-js/bundle/doric-sandbox.es5.js</file> <file alias="doric-sandbox.es5.js">../../doric-js/bundle/doric-sandbox.es5.js</file>
<file alias="doric-lib.js">../../doric-js/bundle/doric-lib.js</file>
<file alias="doric-lib.es5.js">../../doric-js/bundle/doric-lib.es5.js</file> <file alias="doric-lib.es5.js">../../doric-js/bundle/doric-lib.es5.js</file>
</qresource> </qresource>
<qresource prefix="/doric/bundles"> <qresource prefix="/doric/bundles">
<file alias="Snake.js">../../doric-demo/bundle/src/Snake.js</file> <file alias="SimpleDemo.es5.js">../../doric-demo/bundle/src/SimpleDemo.es5.js</file>
<file alias="Snake.es5.js">../../doric-demo/bundle/src/Snake.es5.js</file> <file alias="Snake.es5.js">../../doric-demo/bundle/src/Snake.es5.js</file>
</qresource> </qresource>
<qresource prefix="/doric/qml"> <qresource prefix="/doric/qml">

View File

@ -12,19 +12,28 @@ ApplicationWindow {
ListView { ListView {
width: parent.width width: parent.width
model: 1 model: 2
delegate: Rectangle { delegate: Rectangle {
Column { Column {
anchors.centerIn: parent anchors.centerIn: parent
Text { Text {
text: {return "Snake.js"} text: {
switch (index) {
case 0:
return "SimpleDemo.es5.js"
case 1:
return "Snake.es5.js"
}
}
} }
} }
width: parent.width width: parent.width
height: 60 height: 60
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: {demoBridge.navigate(index)} onClicked: {
demoBridge.navigate(index)
}
} }
} }
} }

View File

@ -3,9 +3,5 @@ import QtQuick.Controls 2.5
Flex { Flex {
flexDirection: "column" flexDirection: "column"
alignItems: "center"
alignSelf: "center"
justifyContent: "spaceAround"
alignContent: "stretch"
} }

View File

@ -0,0 +1,28 @@
import { Group, Panel, text, gravity, Color, LayoutSpec, vlayout, hlayout, scroller, layoutConfig, stack, Gravity } from "doric";
@Entry
class LayoutDemo extends Panel {
build(rootView: Group) {
hlayout([
stack([], {
width: 100,
height: 100,
backgroundColor: Color.RED
}),
stack([], {
width: 100,
height: 100,
backgroundColor: Color.GREEN
}),
stack([], {
width: 100,
height: 100,
backgroundColor: Color.BLUE
})
], {
width: 300,
height: 300,
backgroundColor: Color.BLACK
}).in(rootView)
}
}