主应用程序屏幕没有这个问题,所有的文本显示他们应该。
然而,在新屏幕中,所有的文本部件下面都有一些奇怪的黄线/双线。
你知道为什么会这样吗?
主应用程序屏幕没有这个问题,所有的文本显示他们应该。
然而,在新屏幕中,所有的文本部件下面都有一些奇怪的黄线/双线。
你知道为什么会这样吗?
当前回答
文本样式有一个可以设置为none的装饰参数
Text("My Text",
style: TextStyle(
decoration: TextDecoration.none,
)
);
另外,正如其他人提到的,如果你的文本小部件在脚手架或材料小部件的树中,你就不需要装饰文本样式了。
其他回答
文本有一个隐藏的默认文本样式 .出现问题是因为您不能将此提供给任何父小部件,例如Scaffold。 文本小部件采用默认样式。 对于你的解决方案,你可以像这样改变DefaultTextStyle。
DefaultTextStyle(
style: TextStyle(),
child: yourTextWidget,
);
或者只是包装到脚手架,脚手架是一个小部件。它提供了脚手架 用于应用程序中的页面。 像这样
MaterialApp(
home: Scaffold(
body: Text('Wakey Wakey!'),
),
);
要了解更多信息,请浏览这个颤振官方视频。
黄色下划线文本|解码颤振
您所需要做的就是提供一个Material小部件,或者一个内部覆盖这个小部件的Scaffold。你可以通过以下方法做到这一点:
使用材料(简单且更好): 材料( 颜色:颜色。transparent, // <——如果需要,添加这个 孩子:文本(“你好”), ) 设置文本。样式属性: 文本( “你好”, style: TextStyle(decoration: TextDecoration.none), //设置 ) 提供支架: 支架(身体:文本('你好'))
修复使用英雄时黄色文本的问题:
就像aaronvargas提到的,当你在两边使用Hero时,你可以把你的child包在Material中。例如:
Hero(
tag: 'fooTag',
child: Material( // <--- Provide Material
type: MaterialType.transparency,
child: YourWidget(),
),
);
使用DefaultTextStyle()小部件设置文本的文本样式。
DefaultTextStyle(
style: kTempTextStyle,
child: Text('Hello world'),
)
你可以给你自己的文本样式,因为你想。
const kTempTextStyle = TextStyle(
fontFamily: 'Spartan MB',
fontSize: 100.0,
decoration: null,
);
还有另一种解决方案,特别是当您使用多个页面包装在main下面时。你可以这样做:
child: MaterialApp(
home: Material(child: Wrapper()),
),
这将删除在包装器下引用/使用的任何页面中出现的文本下的黄线。
问题是有没有脚手架。 Scaffold是材料应用程序(AppBar, Drawer之类的东西)的助手。但你并没有被迫使用Material。
你缺少的是一个DefaultTextStyle的父实例:
DefaultTextStyle(
style: TextStyle(...),
child: Text('Hello world'),
)
各种小部件添加一个来更改默认的文本主题,如脚手架,对话框,AppBar, ListTile,…
它是DefaultTextStyle,它允许你的应用栏标题在默认情况下加粗。