Flutter如何实现AlertDialog内多行文本垂直排列而非水平展示
原因
Dart会自动拼接相邻的字符串字面量,你当前的代码中4段文本之间没有插入换行符,因此会全部在同一行展示。
方案1:直接添加换行符(最简实现)
在每段文本的末尾添加转义字符\n即可实现换行,修改后代码如下:
AlertDialog alert = AlertDialog( title: Text("Informações"), content: Text("P - Selvagem ou Aguti\n" "p - preto\n" "A - Permite a pigmentação\n" "a - Inibe a pigmentação (epistático)"), actions: [ okButton, ], backgroundColor: Colors.white, );
方案2:用Column包裹多Text(扩展性更强)
如果后续需要给每行文本单独设置样式、添加交互事件等,可以将content替换为Column组件包裹多个Text组件,注意设置mainAxisSize: MainAxisSize.min避免对话框占用多余高度,代码如下:
AlertDialog alert = AlertDialog( title: Text("Informações"), content: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text("P - Selvagem ou Aguti"), Text("p - preto"), Text("A - Permite a pigmentação"), Text("a - Inibe a pigmentação (epistático)"), ], ), actions: [ okButton, ], backgroundColor: Colors.white, );
内容的提问来源于stack exchange,提问作者bilbo_bo
相关产品推荐
相关产品推荐

