[英]Flutter: Add a new line in Text Widget
我知道有很多這樣的問題,但所有這些答案都沒有幫助我。 我從我的 API 后端收到兩條文本,當我顯示它們時,一切正常,直到其中一個詞太長。 在那種情況下,我沒有設法自動跳到新行。 這是我的代碼的相關部分:
Text(
item.brand + '\n' + item.model,
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
),
有人可以幫我嗎? 太感謝了!
如果我以正確的方式理解您的問題,那么當文本太長時您想跳到新行。 在這種情況下,您必須將文本包裝在具有定義大小的父窗口小部件中,例如 SizedBox:
const SizedBox(
height: 200,
width: 200,
child: Text(
item.brand + '\n' + item.model,
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
))
當文本長度超過 200 像素時,文本現在將跳轉到新行
我不確定這是否能回答您的問題,但您可以嘗試使用下面的這個小部件
Text.rich(TextSpan(
text: "${item.brand}\n",
style: const TextStyle(
fontSize: 18, fontFamily: 'Avenir', fontWeight: FontWeight.bold),
children: [
TextSpan(
text: "${item.model}",
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
),
]));
在此小部件中,您可以在文本中添加不同的 styles,並使用${}
運算符允許您用\n
換行。 或者您可以在Text
小部件中執行此操作。
Text(
"${item.brand}\n${item.model}",
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
),
在 dart 中,您可以使用 + 運算符連接字符串,但這不是必需的
試試下面的代碼希望它對你有幫助。
在 Column 中聲明兩個Text
小部件:
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Your First Text', //just change your text like item.brand
style: TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold,
),
),
Text(
'Your Second Text', //just change your text like item.model
style: TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold,
),
),
],
),
在 Text 小部件中也使用\n
Text(
'Your First Text' + '\n' + 'Your Second Text',
style: TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold,
),
),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.