我不想更改整个应用程序的。只是一个容器。我可以用其他小部件或其他包装吗?
答案 0 :(得分:6)
仅将某些TextStyle
属性应用于应用程序的子树。您可以使用DefaultTextStyle
DefaultTextStyle(
child: Container(child: /* your subtree */),
style: TextStyle(color: Colors.red),
),
答案 1 :(得分:2)
使用 DefaultTextStyle.merge
保留您的主题并更改颜色。
DefaultTextStyle.merge(
style: TextStyle(color: Colors.grey[400]),
child: Column(...),
)
答案 2 :(得分:1)
如果您使用import SparkExtensions._
val ds: Dataset[MyData] = df.to[MyData]
ds.distinct.count
res11: Long = 3
ds.printSchema
root
|-- value: integer (nullable = false)
小部件,则可以使用其主题属性并设置不同的MaterialApp
主题,然后在应用程序中的任何位置调用它们。例如,以下代码定义了3个不同的文本主题:
Text
然后您可以像这样在应用程序中的任何位置调用特定主题(标题):
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Time Tracker",
theme: ThemeData(
textTheme: TextTheme(
headline: TextStyle(fontSize: 72.0, fontWeight: FontWeight.bold,color: Colors.blue),
title: TextStyle(fontSize: 36.0, fontStyle: FontStyle.italic,color: Colors.red),
body1: TextStyle(fontSize: 14.0, fontFamily: 'Hind',color: Colors.yellow),
),
),
home: LandingPage(),
);
}
}
哪个给您标题Text('Home Page',style: Theme.of(context).textTheme.headline,)
答案 3 :(得分:0)
我拥有所有样式的功能
TextStyle largeTextStyle() => TextStyle(fontSize: 150);
那我就做
Text("blah", style:largeTextStyle())
答案 4 :(得分:0)
ThemeData
的强大功能超出了您的想象。这是关于{strong>部分应用程序主题的official documentation 。
您可以提供一个Theme
来包装您的容器以提供一个新的主题。这是两种解决方法:
/*Not recommended, this could make a totally different If you just want a little part changed.*/
Theme(
// Create a unique theme with "ThemeData"
data: ThemeData(
textTheme: /* Your Text Theme*/,
),
child: Container(
onPressed: () {},
child: Text("Your Text Here"),
),
);
Theme(
// Find and extend the parent theme using "copyWith". See the next
// section for more info on `Theme.of`.
data: Theme.of(context).copyWith(textTheme: /* Provide your theme here! */),
child: Container(
child: Text("your text here"),
),
);
您还可以使用已有的主题,但要稍作改动:
Theme.of(context).textTheme.copyWith(
body1: Theme.of(context).textTheme.body1.copyWith(color: Colors.red),
)