组合元件
一个 Lynx 页面中可能包含了文字、图片不同的视觉要素,通过不同的布局方式,来呈现出不同的页面样式。本节希望帮助大家了解如何构建最基本的视图。
元素标签:界面的 基础构建单元
Lynx 通过标记语言来定义内容和结构,其最基础的单元是一个元素标签。元素标签的概念类似 HTML 元素,元素标签可以用来包围不同部分的内容,使其以某种方式呈现或者工作。
与 HTML 不同的是,Lynx 中使用一些其独有的元素标签,如 <view>、<text> 和 <image>,来展示不同的内容。
例如,在 Lynx 中,下面的源代码可以用于展示一段文字:
元素标签的构成
元素标签的基本用法与 HTML 元素非常类似:
每一个元素标签都由以下几个部分组成:
- 开始标签:包含元素标签的名称(本例为 text),及一对包围名称的尖括号。表示元素标签从这里开始。
- 结束标签:与开始标签相似,只是其在元素名之前包含了一个正斜杠。这表示元素标签到这里 结束。
- 内容:元素标签的内容,对于
<text>元素标签来说就是所输入的文本本身。
开始标签、结束标签与内容相结合,便是一个完整的元素标签。
属性
每个元素标签都有自己的属性(Attribute),可以通过在元素标签标签中添加属性名和属性值来设置,用于描述其行为和外观。
例如,每个元素标签上可以使用 style、class 等属性来设置背景、圆角、阴影样式,支持部分 CSS 语法。下面的代码可以设置一个元素的背景色为红色:
本例中,style 是属性名,background:red 是属性值。
更多属性可以查看 API 参考。
空元素标签
有些元素标签没有内容,例如 <image> 元素标签:
它没有使用 </image> 结束标签,元素标签里也没有内容。这是因为 <image> 元素标签使用属性 src 而非通过内容来达到展示图片的目的。
嵌套元素标签
元素标签可以被嵌套在其他元素标签中。例如,多个 <text> 元素标签可以被嵌套在一个 <view> 元素标签中:
元件树
在源代码中的元素标签会在运行时被 Lynx 引擎解析,翻译成用于渲染的元件。 嵌套的元素标签会形成由元件组成的一棵树,我们称之为元件树,我们依赖这种树结构来构建和管理更加复杂的界面。