SuperTextLayout 是一个高度可配置、可组合且可扩展的 Flutter 文本显示解决方案。它使开发者能够创建具有高级样式、布局控制和动态内容渲染功能的丰富、可自定义的文本界面。设计上注重灵活性,支持嵌套文本元素、自定义渲染器,并能与动画和特效无缝集成。适用于需要超越标准 Text 小部件的复杂文本处理的应用程序,例如富文本编辑器、交互式文档或具有独特排版需求的品牌化 UI。
适合场景
富文本编辑界面
交互式文档显示
品牌中的自定义排版
动画文本布局
嵌套文本组件
动态内容渲染
主要特点
可配置的文本布局
可组合的文本元素
可扩展的渲染系统
对动画和效果的支持
嵌套文本结构
高性能渲染
适合对象
开发富文本编辑器的开发者
注重设计的UI实现
需要高级文本自定义功能的应用
致力于交互式文档的团队
需要可扩展文本解决方案的Flutter项目
使用建议
比基本的Text小部件更陡峭的学习曲线
可能需要额外设置以应对复杂用例
大型文本内容对性能的影响
对辅助功能的内置支持有限
不适合简单的静态文本显示
原始 README
以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。
Open source, configurable, extensible text editor and document renderer for Flutter.
Super Editor works with any backend. Plug yours in and go!
Super Editor was initiated by Superlist and is implemented and maintained by the Flutter Bounty Hunters, Superlist, and the contributors.
A Note on Releases (June, 2024):
We've been busy at work on core editor improvements like undo/redo, a stable editor pipeline, and useful editor reactions. These APIs have evolved a lot, so we haven't cut a standard release in a long time. We're still evolving those APIs right now.
Rest assured, Super Editor and the other projects in this repo are under regular development. We're still here and working hard.
We're now starting to publish developer releases of Super Editor so that the community can see what we've been working on.
As a reminder, your project doesn't need to use Pub to use Super Editor. You can depend directly on this GitHub repository to keep up with the latest changes. Please check the section below about our Git branches.
A Note on Branches:
Do you use Flutter's stable branch? Be sure to checkout super_editor's stable branch, for compatibility. Do you use Flutter's master branch? Be sure to checkout super_editor's main branch, for compabitility.
You might notice that this is a mono-repo, which includes multiple projects. That's because we're not just building an editor. We're building a document editing toolkit. In fact, we're revolutionizing all text layout and editing with Flutter! Check out some of our supporting projects.
Mono-repo Versioning
If you have compilation errors when using the GitHub version of super_editor, try overriding dependencies for the other packages in this mono-repo, e.g., super_editor_markdown, super_text_layout, and attributed_text. This project often makes changes to multiple packages within the mono-repo, which requires that you use the latest main or stable version of every package.
You can override your dependencies as follows:
dependency_overrides:super_editor:git:url:https://github.com/superlistapp/super_editorpath:super_editorref:stable# or "main"super_editor_markdown:git:url:https://github.com/superlistapp/super_editorpath:super_editor_markdownref:stablesuper_text_layout:git:url:https://github.com/superlistapp/super_editorpath:super_text_layoutref:stableattributed_text:git:url:https://github.com/superlistapp/super_editorpath:attributed_textref:stable