我知道有很多這樣的問題,但所有這些答案都沒有幫助我。我從我的 API 后端收到兩個文本,當我顯示它們時,一切正常,直到其中一個詞太長。在那種情況下,我沒有設法自動跳到新行。這是我的代碼的相關部分:
Text(
item.brand '\n' item.model,
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
),
有人可以幫我嗎?非常感謝!
uj5u.com熱心網友回復:
如果我以正確的方式理解您的問題,您想在文本太長時跳到新行。在這種情況下,您必須將文本包裝在具有定義大小的父小部件中,例如 SizedBox :
const SizedBox(
height: 200,
width: 200,
child: Text(
item.brand '\n' item.model,
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
))
當文本超過 200px 時,文本現在將跳到新行
uj5u.com熱心網友回復:
我不確定這是否能回答您的問題,但您可以嘗試使用下面的這個小部件
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),
),
]));
在這個小部件中,您可以在文本中添加不同的樣式,并通過使用${}運算子允許您使用\n. 或者您可以在您的Text小部件中執行此操作。
Text(
"${item.brand}\n${item.model}",
style: const TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold),
),
在 dart 中,您可以使用 運算子來連接字串,但這不是必需的
uj5u.com熱心網友回復:
試試下面的代碼希望它對你有幫助。
Text在 Column 中宣告兩個小部件:
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,
),
),
],
),
使用上述小部件的結果螢屏-> 
\n也可以在 Text 小部件內使用
Text(
'Your First Text' '\n' 'Your Second Text',
style: TextStyle(
fontSize: 18,
fontFamily: 'Avenir',
fontWeight: FontWeight.bold,
),
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/364083.html
