我有一張帶有 2 個文本小部件的卡片,無論用戶在輔助功能設定中設定了 fontSize,我都希望它們不會溢位。我正在做這個微積分,它立即溢位。我在總高度上添加了一個常量,因此它不會溢位,但是當我從設定中增加字體大小時,它又會溢位。
我在這里缺少什么?
double getCardHeight(BuildContext context) {
final scale = MediaQuery.of(context).textScaleFactor;
double bodyFontSize = Theme.of(context).textTheme.bodyText2?.fontSize ?? 0;
double bodyLineHeight = bodyFontSize * scale;
double titleFontSize = Theme.of(context).textTheme.headline5?.fontSize ?? 0;
double titleLineHeight = titleFontSize * scale;
final textsHeight =
(titleLineHeight * titleMaxLines) (bodyLineHeight * bodyMaxLines);
final cardHeight = textsHeight verticalPadding * 2;
print("card height = $cardHeight");
return cardHeight;}
uj5u.com熱心網友回復:
你應該以不同的方式來做這件事。不是計算文本高度然后使用它來調整卡片的大小,而是將您的文本小部件放在靈活的小部件中,并將這些靈活的小部件放在一行中。
Row(
children: [
Flexible(
child: Text('My text'),
)
],
),
這將使文本在即將溢位時自動換行。
uj5u.com熱心網友回復:
我想到了。我在主題中定義了我的文本樣式。但是,我沒有為樣式設定高度。在做數學運算時,我假設字體的高度為 1,但事實并非如此。在我指定 height: 1 到我所有的文本樣式之后,數學作業正常
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/312913.html
