前置规则(你图片末尾说明): 任意页面 / 自定义组件的 build() 中,有且只能有 1 个根布局容器;复杂界面可在根布局内部嵌套其他布局容器

1. 垂直布局 Column

概念

容器名:Column 子组件从上到下垂直依次排列,最基础常用布局,属于线性布局。

  • 主轴:竖直方向
  • 交叉轴:水平方向
@Entry
@Component
struct CardStyleDemo{
  build() {
    Column({space:50}){
      Column({space:20}){
        Text("个人信息的卡片")
          .fontSize(24)
          .fontWeight(FontWeight.Bold)
        Text("姓名: 哈哈")
          .fontSize(18)
        Text("专业: 计算机应用技术")
          .fontSize(18)
      }

2. 水平布局 Row

概念

容器名:Row 子组件从左到右水平依次排列,线性布局。

  • 主轴:水平方向
  • 交叉轴:竖直方向
Row(){
  Button('登录')
    .width(150)
    .height(50)
    .backgroundColor(0xf8f8f8)
    .fontSize(18)
    .fontColor(Color.White)
    .border({width:3,color:Color.Black})

3. 相对布局 RelativeContainer

概念

容器名:RelativeContainer 子组件不按顺序排列,通过 alignRules 规则,以某个组件 / 容器边界为锚点,上下左右相对定位,适合不规则页面排版。 子组件必须设置 id 才能互相锚定。

4. 层叠布局 Stack

概念

容器名:Stack Z 轴堆叠布局,子组件按编写顺序层层叠加,后写的组件默认覆盖在上方;可设置内部对齐方式实现悬浮、遮罩、头像角标效果。

5. 弹性布局 Flex

概念

容器名:Flex 增强版线性布局,支持自动换行、子元素拉伸 / 压缩占比、灵活分配剩余空间,适配多尺寸屏幕,和前端 CSS Flex 逻辑高度一致。

鸿蒙 ArkUI 常用基础组件详解(概念 + 可运行 ArkTS 代码)

一、Image 图片组件

作用

展示本地 / 网络图片,支持缩放、圆角、裁剪等样式设置,是页面最常用素材展示组件。

Row({space:20}){
  Image($r('app.media.liangzi'))
    .width(120)
    .height(120)
    .borderRadius(60)

二、Text 文本组件 / TextInput 输入框组件

作用

  • Text:展示静态文字,设置字号、颜色、字重、换行等样式
  • TextInput:接收用户手动输入内容,可做账号、密码录入
  • Column({space:15}){
      Text('鸿蒙系统开发者:良子')
        .fontSize(20)
      Text('计算机应用工程系')
        .fontSize(20)

三、Button 按钮组件

作用

可点击交互控件,绑定点击事件实现页面跳转、数据提交、弹窗触发等逻辑,支持填充、描边、文本型样式。

Row({space:15}){
  Button('编辑资料')
    .fontSize(20)
    .width(150)
    .height(50)
    .borderRadius(8)

四、Radio 单选框组件

作用

同一分组内只能选中一个选项,常用于性别选择、单一选项投票等场景,依靠name属性分组。

Text('第一题')
Radio({value:'Radio1',group:'radioGroup'})
  .checked(false)
Radio({value:'Radio2',group:'radioGroup'})
  .checked(true)
Radio({value:'Radio3',group:'radioGroup'})
  .checked(false)
Radio({value:'Radio4',group:'radioGroup'})
  .checked(false)

五、Tabs 选项卡组件

作用

实现顶部 / 底部标签栏切换多页面内容,比如首页、分类、我的切换,由Tabs容器 + TabContent页面组成。

build() {
  Tabs(){
    TabContent(){
      Column({space:30}){
        Text('欢迎来到河北软件职业技术学院')
          .fontSize(22)
          .fontWeight(FontWeight.Bolder)

六、Swiper 轮播图组件

作用

自动 / 手动横向滑动切换多张图片,首页广告、活动横幅最常用组件,可设置自动轮播、指示器、切换时长

\

build() {
  Column() {
    Swiper() {
      ForEach(this.bannerList, (item: Resource) => {
        Image(item)
          .width('98%')
          .height('100%')
          .objectFit(ImageFit.Cover)

七、Video 视频播放组件

作用

播放本地视频、网络视频资源,自带播放、暂停、进度条控制器,支持自定义控制逻辑。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐