本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。
1. CrossFly 全景
你将学到: 让本课程后续所有选择都变得合理的心智模型。前置条件: 已运行过 Hello World。
在整个课程中我们构建同一个应用 —— 一个带持久化的待办列表 —— 它随着每一页而成长,从一个静态界面演变为经过测试、响应式、可打包发布的应用。
支撑一切的理念
- Java + OpenGL。 CrossFly 是一个通过 GPU(OpenGL/WebGL)绘制的 Java 应用。外观在所有平台上完全一致 —— 没有原生控件。
- 单一绘制线程。 所有 UI 和渲染都在同一个线程里进行。繁重工作交给后台线程,再通过
Component.onUI(...)返回。 - 按需渲染。 只有当你调用
repaint()时界面才重绘 —— 节省电量。 - 一切皆
Component。 不存在“控件 vs 容器”的层级:任何Component在接收一个Layout后都会成为容器。 - 不强加架构。 没有响应式绑定,也没有依赖注入 —— 你直接修改对象,并手动更新 UI。
各部件地图
| 部件 | 角色 |
|---|---|
Main |
引导入口(libGDX 的 ApplicationListener) |
Window |
一个界面(导航栈中一个全屏的 Component) |
Component |
UI 的基本单元 —— 一切都由它派生 |
Layout |
测量并定位容器的子元素 |
Styles/Skin/ColorScheme |
外观(形状 + 按主题的颜色) |
回顾
CrossFly 是命令式且面向对象的:创建对象一次,保存引用,修改它,repaint()。线程处理是显式的;外观就是你的 GPU 在绘制,处处相同。
下一步
→ 窗口与导航
另见
- 概念:分层架构 · 一切皆 Component
这个页面有帮助吗?感谢你的反馈!