Просмотр исходного кода

add: airui,添加绑定动态变量和绑定函数的使用例子

PKM-Bai 6 месяцев назад
Родитель
Сommit
b79f166b29
2 измененных файлов с 1875 добавлено и 4 удалено
  1. 1839 0
      luat/demo/airui/demo_2.json
  2. 36 4
      luat/demo/airui/main.lua

+ 1839 - 0
luat/demo/airui/demo_2.json

@@ -0,0 +1,1839 @@
+{
+    "fonts": [
+    ],
+    "images": [
+    ],
+    "pages": [
+        {
+            "children": [
+                {
+                    "auto_size": true,
+                    "class": "lv_img",
+                    "click": false,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 80,
+                        "width": 80,
+                        "x": 393,
+                        "y": 7
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "image_1",
+                    "offset": {
+                        "x": 0,
+                        "y": 0
+                    },
+                    "source": "default",
+                    "styles": [
+                        {
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "part": 0,
+                            "state": 6
+                        }
+                    ]
+                },
+                {
+                    "auto_size": true,
+                    "class": "lv_line",
+                    "click": false,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 81,
+                        "width": 81,
+                        "x": 392,
+                        "y": 6
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "line_1",
+                    "points": [
+                        {
+                            "x": 1,
+                            "y": 1
+                        },
+                        {
+                            "x": 1,
+                            "y": 80
+                        },
+                        {
+                            "x": 80,
+                            "y": 80
+                        },
+                        {
+                            "x": 80,
+                            "y": 1
+                        },
+                        {
+                            "x": 1,
+                            "y": 1
+                        }
+                    ],
+                    "styles": [
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0x23a5f5",
+                                "line_width": 3
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ],
+                    "y_invert": false
+                },
+                {
+                    "align": 2,
+                    "class": "lv_label",
+                    "click": false,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 19,
+                        "width": 128,
+                        "x": 261,
+                        "y": 34
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "long_mode": 0,
+                    "name": "label_1",
+                    "recolor": false,
+                    "styles": [
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0x269be3"
+                            },
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ],
+                    "text": "上海合宙通讯科技有限公司"
+                },
+                {
+                    "checkable": false,
+                    "class": "lv_btn",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "fit": 0,
+                    "geometry": {
+                        "height": 35,
+                        "width": 100,
+                        "x": 20,
+                        "y": 11
+                    },
+                    "hidden": false,
+                    "layout": 1,
+                    "locked": false,
+                    "name": "button_1",
+                    "state": 0,
+                    "styles": [
+                        {
+                            "Background": {
+                                "bg_color": "0x006ecf"
+                            },
+                            "Border": {
+                                "border_color": "0xeaeaea",
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_color": "0xffffff",
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0xeaeaea",
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x006ecf"
+                            },
+                            "Border": {
+                                "border_color": "0xeaeaea",
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_color": "0xffffff",
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x006ecf"
+                            },
+                            "Border": {
+                                "border_color": "0xeaeaea",
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_color": "0xffffff",
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x006ecf"
+                            },
+                            "Border": {
+                                "border_color": "0xeaeaea",
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_color": "0xffffff",
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Border": {
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Border": {
+                                "border_width": 5
+                            },
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "Home"
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ]
+                },
+                {
+                    "angle": [
+                        0,
+                        108
+                    ],
+                    "bg_angle": [
+                        0,
+                        360
+                    ],
+                    "class": "lv_arc",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 75,
+                        "width": 75,
+                        "x": 30,
+                        "y": 229
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "arc_1",
+                    "rotation": 0,
+                    "styles": [
+                        {
+                            "Border": {
+                                "border_color": "0xffffff"
+                            },
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0xffffff"
+                            },
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0xffffff"
+                            },
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0xffffff"
+                            },
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Border": {
+                                "border_color": "0xffffff"
+                            },
+                            "Line": {
+                                "line_color": "0xd9683b",
+                                "line_width": 8
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "part": 1,
+                            "state": 0
+                        },
+                        {
+                            "part": 1,
+                            "state": 1
+                        },
+                        {
+                            "part": 1,
+                            "state": 2
+                        },
+                        {
+                            "part": 1,
+                            "state": 3
+                        },
+                        {
+                            "part": 1,
+                            "state": 4
+                        },
+                        {
+                            "part": 1,
+                            "state": 5
+                        },
+                        {
+                            "part": 1,
+                            "state": 6
+                        }
+                    ],
+                    "type": 0,
+                    "value": 30
+                },
+                {
+                    "arrow": 0,
+                    "class": "lv_dropdown",
+                    "click": true,
+                    "dir": 0,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 35,
+                        "width": 117,
+                        "x": 362,
+                        "y": 137
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "max_height": 240,
+                    "name": "dropdown_1",
+                    "open": false,
+                    "options": "SPI0\nSPI1\nI2C0\nI2C1",
+                    "styles": [
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 64,
+                            "state": 6
+                        },
+                        {
+                            "part": 65,
+                            "state": 0
+                        },
+                        {
+                            "part": 65,
+                            "state": 1
+                        },
+                        {
+                            "part": 65,
+                            "state": 2
+                        },
+                        {
+                            "part": 65,
+                            "state": 3
+                        },
+                        {
+                            "part": 65,
+                            "state": 4
+                        },
+                        {
+                            "part": 65,
+                            "state": 5
+                        },
+                        {
+                            "part": 65,
+                            "state": 6
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 66,
+                            "state": 6
+                        }
+                    ]
+                },
+                {
+                    "checked": false,
+                    "class": "lv_checkbox",
+                    "click": true,
+                    "disabled": false,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 23,
+                        "width": 143,
+                        "x": 20,
+                        "y": 68
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "check_box_1",
+                    "styles": [
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ],
+                    "text": "Enable/Disable"
+                },
+                {
+                    "class": "lv_switch",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 35,
+                        "width": 70,
+                        "x": 390,
+                        "y": 217
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "switch_1",
+                    "state": false,
+                    "styles": [
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x85c370"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "part": 1,
+                            "state": 0
+                        },
+                        {
+                            "part": 1,
+                            "state": 1
+                        },
+                        {
+                            "part": 1,
+                            "state": 2
+                        },
+                        {
+                            "part": 1,
+                            "state": 3
+                        },
+                        {
+                            "part": 1,
+                            "state": 4
+                        },
+                        {
+                            "part": 1,
+                            "state": 5
+                        },
+                        {
+                            "part": 1,
+                            "state": 6
+                        },
+                        {
+                            "part": 2,
+                            "state": 0
+                        },
+                        {
+                            "part": 2,
+                            "state": 1
+                        },
+                        {
+                            "part": 2,
+                            "state": 2
+                        },
+                        {
+                            "part": 2,
+                            "state": 3
+                        },
+                        {
+                            "part": 2,
+                            "state": 4
+                        },
+                        {
+                            "part": 2,
+                            "state": 5
+                        },
+                        {
+                            "part": 2,
+                            "state": 6
+                        }
+                    ]
+                },
+                {
+                    "class": "lv_textarea",
+                    "click": true,
+                    "cursor_blink_time": 144,
+                    "cursor_pos": 0,
+                    "drag": false,
+                    "edge_flash": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 87,
+                        "width": 234,
+                        "x": 122,
+                        "y": 231
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "max_length": 0,
+                    "name": "text_area_1",
+                    "one_line_mode": false,
+                    "password_mode": false,
+                    "placeholder": "",
+                    "scroll_propagation": false,
+                    "scrollbar_mode": 2,
+                    "styles": [
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "part": 1,
+                            "state": 0
+                        },
+                        {
+                            "part": 1,
+                            "state": 1
+                        },
+                        {
+                            "part": 1,
+                            "state": 2
+                        },
+                        {
+                            "part": 1,
+                            "state": 3
+                        },
+                        {
+                            "part": 1,
+                            "state": 4
+                        },
+                        {
+                            "part": 1,
+                            "state": 5
+                        },
+                        {
+                            "part": 1,
+                            "state": 6
+                        },
+                        {
+                            "part": 2,
+                            "state": 0
+                        },
+                        {
+                            "part": 2,
+                            "state": 1
+                        },
+                        {
+                            "part": 2,
+                            "state": 2
+                        },
+                        {
+                            "part": 2,
+                            "state": 3
+                        },
+                        {
+                            "part": 2,
+                            "state": 4
+                        },
+                        {
+                            "part": 2,
+                            "state": 5
+                        },
+                        {
+                            "part": 2,
+                            "state": 6
+                        },
+                        {
+                            "part": 3,
+                            "state": 0
+                        },
+                        {
+                            "part": 3,
+                            "state": 1
+                        },
+                        {
+                            "part": 3,
+                            "state": 2
+                        },
+                        {
+                            "part": 3,
+                            "state": 3
+                        },
+                        {
+                            "part": 3,
+                            "state": 4
+                        },
+                        {
+                            "part": 3,
+                            "state": 5
+                        },
+                        {
+                            "part": 3,
+                            "state": 6
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 6
+                        }
+                    ],
+                    "text": "Text area",
+                    "text_align": 0
+                },
+                {
+                    "brightness": 120,
+                    "class": "lv_led",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 43,
+                        "width": 43,
+                        "x": 427,
+                        "y": 273
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "led_1",
+                    "styles": [
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x7f5358"
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ],
+                    "switch": 1
+                },
+                {
+                    "animation_state": 0,
+                    "animation_time": 200,
+                    "class": "lv_bar",
+                    "click": false,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 30,
+                        "width": 150,
+                        "x": 20,
+                        "y": 165
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "bar_1",
+                    "range": {
+                        "max": 100,
+                        "min": 0
+                    },
+                    "styles": [
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xe8e8e8"
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "part": 1,
+                            "state": 0
+                        },
+                        {
+                            "part": 1,
+                            "state": 1
+                        },
+                        {
+                            "part": 1,
+                            "state": 2
+                        },
+                        {
+                            "part": 1,
+                            "state": 3
+                        },
+                        {
+                            "part": 1,
+                            "state": 4
+                        },
+                        {
+                            "part": 1,
+                            "state": 5
+                        },
+                        {
+                            "part": 1,
+                            "state": 6
+                        }
+                    ],
+                    "type": 0,
+                    "value": 36
+                },
+                {
+                    "animation_state": 0,
+                    "animation_time": 200,
+                    "class": "lv_slider",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 25,
+                        "width": 150,
+                        "x": 20,
+                        "y": 116
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "slider_1",
+                    "range": {
+                        "max": 100,
+                        "min": 0
+                    },
+                    "styles": [
+                        {
+                            "Background": {
+                                "bg_color": "0x4f9ace"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x2ba5d9"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x2ba5d9"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x2ba5d9"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x2ba5d9"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x2ba5d9"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0x2ba5d9"
+                            },
+                            "Outline": {
+                                "outline_color": "0x1caece"
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "part": 1,
+                            "state": 0
+                        },
+                        {
+                            "part": 1,
+                            "state": 1
+                        },
+                        {
+                            "part": 1,
+                            "state": 2
+                        },
+                        {
+                            "part": 1,
+                            "state": 3
+                        },
+                        {
+                            "part": 1,
+                            "state": 4
+                        },
+                        {
+                            "part": 1,
+                            "state": 5
+                        },
+                        {
+                            "part": 1,
+                            "state": 6
+                        },
+                        {
+                            "part": 2,
+                            "state": 0
+                        },
+                        {
+                            "part": 2,
+                            "state": 1
+                        },
+                        {
+                            "part": 2,
+                            "state": 2
+                        },
+                        {
+                            "part": 2,
+                            "state": 3
+                        },
+                        {
+                            "part": 2,
+                            "state": 4
+                        },
+                        {
+                            "part": 2,
+                            "state": 5
+                        },
+                        {
+                            "part": 2,
+                            "state": 6
+                        }
+                    ],
+                    "type": 0,
+                    "value": 70
+                },
+                {
+                    "brightness": 255,
+                    "class": "lv_led",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 43,
+                        "width": 43,
+                        "x": 370,
+                        "y": 272
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "name": "led_3",
+                    "styles": [
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Background": {
+                                "bg_color": "0xb0ffaf"
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ],
+                    "switch": 0
+                },
+                {
+                    "class": "lv_textarea",
+                    "click": true,
+                    "cursor_blink_time": 144,
+                    "cursor_pos": 38,
+                    "drag": false,
+                    "edge_flash": false,
+                    "events": [
+                    ],
+                    "geometry": {
+                        "height": 71,
+                        "width": 137,
+                        "x": 197,
+                        "y": 143
+                    },
+                    "hidden": false,
+                    "locked": false,
+                    "max_length": 0,
+                    "name": "text_area_2",
+                    "one_line_mode": false,
+                    "password_mode": false,
+                    "placeholder": "",
+                    "scroll_propagation": false,
+                    "scrollbar_mode": 2,
+                    "styles": [
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 0,
+                            "state": 6
+                        },
+                        {
+                            "part": 1,
+                            "state": 0
+                        },
+                        {
+                            "part": 1,
+                            "state": 1
+                        },
+                        {
+                            "part": 1,
+                            "state": 2
+                        },
+                        {
+                            "part": 1,
+                            "state": 3
+                        },
+                        {
+                            "part": 1,
+                            "state": 4
+                        },
+                        {
+                            "part": 1,
+                            "state": 5
+                        },
+                        {
+                            "part": 1,
+                            "state": 6
+                        },
+                        {
+                            "part": 2,
+                            "state": 0
+                        },
+                        {
+                            "part": 2,
+                            "state": 1
+                        },
+                        {
+                            "part": 2,
+                            "state": 2
+                        },
+                        {
+                            "part": 2,
+                            "state": 3
+                        },
+                        {
+                            "part": 2,
+                            "state": 4
+                        },
+                        {
+                            "part": 2,
+                            "state": 5
+                        },
+                        {
+                            "part": 2,
+                            "state": 6
+                        },
+                        {
+                            "part": 3,
+                            "state": 0
+                        },
+                        {
+                            "part": 3,
+                            "state": 1
+                        },
+                        {
+                            "part": 3,
+                            "state": 2
+                        },
+                        {
+                            "part": 3,
+                            "state": 3
+                        },
+                        {
+                            "part": 3,
+                            "state": 4
+                        },
+                        {
+                            "part": 3,
+                            "state": 5
+                        },
+                        {
+                            "part": 3,
+                            "state": 6
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 0
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 1
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 2
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 3
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 4
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 5
+                        },
+                        {
+                            "Text": {
+                                "text_font": "Simsun 16"
+                            },
+                            "part": 4,
+                            "state": 6
+                        }
+                    ],
+                    "text": "姓名: {{person.name}}\n年龄: {{person.age}}",
+                    "text_align": 1
+                },
+                {
+                    "checkable": false,
+                    "class": "lv_btn",
+                    "click": true,
+                    "drag": false,
+                    "events": [
+                        "btn_event1#Clicked#bind_script#update_age"
+                    ],
+                    "fit": 0,
+                    "geometry": {
+                        "height": 35,
+                        "width": 133,
+                        "x": 199,
+                        "y": 93
+                    },
+                    "hidden": false,
+                    "layout": 1,
+                    "locked": false,
+                    "name": "button_2",
+                    "state": 0,
+                    "styles": [
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 0
+                        },
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 1
+                        },
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 2
+                        },
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 3
+                        },
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 4
+                        },
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 5
+                        },
+                        {
+                            "Value": {
+                                "value_font": "Simsun 16",
+                                "value_str": "点我年龄+1"
+                            },
+                            "part": 0,
+                            "state": 6
+                        }
+                    ]
+                }
+            ],
+            "events": [
+            ],
+            "geometry": {
+                "height": 320,
+                "width": 480,
+                "x": 0,
+                "y": 0
+            },
+            "name": "mainpage",
+            "styles": [
+                {
+                    "bg_color": "0xffffff",
+                    "disable": false,
+                    "part": 0,
+                    "state": 0
+                }
+            ],
+            "visible": true
+        }
+    ],
+    "project_name": "demo_1",
+    "project_settings": {
+        "color_depth": 32,
+        "keyBoard": {
+            "chinese_input": false,
+            "chinese_library": "mini",
+            "display_kb": false,
+            "keyboard_font_size": 18,
+            "keyboard_font_type": "SourceHanSerifSC_Regular"
+        },
+        "resolution": {
+            "height": 320,
+            "width": 480
+        },
+        "screen_retated": 90
+    },
+    "ui_version": "7.11.0",
+    "version": "1.0.0"
+}

+ 36 - 4
luat/demo/airui/main.lua

@@ -81,17 +81,49 @@ function tp_init()
     end
 end
 
+
+local num = 10
+local username = "张三"
+-- 用户数据,可以自定义,要和airui.json中的控件设置文本中格式匹配
+-- 例如当前的例子:label的文本中就使用为 {{person.name}} 和 {{person.age}}
+local appdata = {
+    person = {
+        name = username,
+        age = num
+    }
+}
+
+-- 自定义的回调函数
+local function event_handler(obj, event)
+    if (event == lvgl.EVENT_CLICKED) then
+        appdata.person.age = appdata.person.age + 1
+        airui.refresh_text("text_area_2", appdata)
+        log.info("button clicked age=", appdata.person.age)
+    end
+end
+
+-- 用户自定义函数,要和airui.json中的控件下的events字段对应
+local appfuncs = {
+    update_age = event_handler
+}
+
 sys.taskInit(function()
-    local uiJson = io.open("/luadb/ui.json")
+    -- local uiJson = io.open("/luadb/ui.json")
+    -- local ui_path = "/luadb/ui.json"
+    local ui_path = "/luadb/demo_2.json"
+    local uiJson = io.open(ui_path)
     local ui = json.decode(uiJson:read("*a"))
     log.info("ui", ui, ui.pages[1].children[1].name)
-
+    
     lcd_init()
     log.info("初始化lvgl", lvgl.init(ui.project_settings.resolution.width, ui.project_settings.resolution.height))
     tp_init()
     
-    airui.init("/luadb/ui.json")
-end)
+    airui.init(ui_path, {data = appdata, funcs = appfuncs})
 
+    local button = airui.get_widget("button_2")     -- 获得名称为 button_2 的按钮控件对象
+    -- sys.wait(5000)  -- 等待5s
+    -- airui.del_widget(button) -- 删除按钮
+end)
 
 sys.run()