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

Flutter实现可点击分句换行布局:非Text组件左对齐换行

Flutter 实现可点击古兰经经文布局问题

需求概述

  • 需实现类似古兰经页面的布局,每个经文分句、每个单词都要支持点击事件
  • 不能使用单纯的Text组件(需添加交互),Row/Column组件不适用(需要内容自动换行)
  • 参考布局:
    布局示例
    目标页面效果:
    目标页面示例

当前实现方案

核心逻辑:将每个经文拆分为单词,每个单词用InkWell包裹以支持点击;同时每个经文整体也用InkWell包裹,最后将所有经文放入列表,通过Wrap组件展示。

核心代码

List<InkWell> versesList = [];
for (var i = 0; i < versesCount!; i++) {
  versesList.add(InkWell(
    onLongPress: () {},
    child: Wrap(
        direction: Axis.horizontal,
        textDirection: TextDirection.rtl,
        children:
            "${getVerse(surahNumb!, startVerse! + i, verseEndSymbol: true)}"
                .split(" ")
                .map((e) => InkWell(
                      onTap: () => () {},
                      child: Text(e),
                      //style: TextStyle(fontFamily: "Quran", fontSize: 18),
                    ))
                .toList()),
  ));

展示组件代码

SizedBox(
  width: 200,
  //height: 480,
  child: Wrap(
      direction: Axis.horizontal,
      alignment: WrapAlignment.start,
      textDirection: TextDirection.rtl,
      children: quranController.versesList),

效果对比

  • 当前实现效果:
    当前效果
  • 期望实现效果:
    期望效果

内容的提问来源于stack exchange,提问作者Tasbeh Ammar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:50:15