You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何实现OR文字位于水平分割线正中间的效果

实现方案

可以通过Row组件配合左右两侧的Divider实现,该方案无需硬编码尺寸,自适应所有屏幕宽度,OR文字始终处于分割线正中间:

import 'package:flutter/material.dart';

class OrDivider extends StatelessWidget {
  const OrDivider({super.key});

  @override
  Widget build(BuildContext context) {
    return Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: const [
        // 左侧分割线,自动填充剩余空间
        Expanded(
          child: Divider(
            thickness: 1,
            color: Colors.grey,
            height: 1,
          ),
        ),
        // 中间OR文字,设置左右间距和分割线拉开距离
        Padding(
          padding: EdgeInsets.symmetric(horizontal: 16),
          child: Text(
            "OR",
            style: TextStyle(
              color: Colors.grey,
              fontSize: 14,
              fontWeight: FontWeight.w500,
            ),
          ),
        ),
        // 右侧分割线,自动填充剩余空间
        Expanded(
          child: Divider(
            thickness: 1,
            color: Colors.grey,
            height: 1,
          ),
        ),
      ],
    );
  }
}

使用方式

直接在需要插入的位置调用OrDivider()组件即可,可根据需求自行调整以下参数适配你的设计风格:

  • 修改Divider的thickness参数调整分割线粗细
  • 修改Padding的horizontal参数调整OR文字和两侧分割线的间距
  • 修改Text和Divider的color参数自定义配色
  • 修改Text的fontSize参数调整文字大小

内容的提问来源于stack exchange,提问作者Junaid Khalid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:21:02