- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序是使用 MaterialApp
作为根小部件构建的。对于这个 Material 应用程序,我添加了一个主题如下:
MaterialApp(
theme: myTheme,
home: MyHomePage(),
...
)
final ThemeData myTheme = _buildTheme();
ThemeData _buildTheme() {
final ThemeData base = ThemeData.light();
return base.copyWith(
...
textTheme: _buildMyTextTheme(base.textTheme),
primaryTextTheme: _buildMyTextTheme(base.primaryTextTheme),
accentTextTheme: _buildMyTextTheme(base.accentTextTheme),
pageTransitionsTheme: PageTransitionsTheme(builders: {
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
}));
}
TextTheme _buildMyTextTheme(TextTheme base) {
return base
.copyWith(
headline:
base.headline.copyWith(fontSize: 20.0, fontWeight: FontWeight.w500),
title: base.title.copyWith(fontSize: 18.0, fontWeight: FontWeight.w400),
subhead:
base.subhead.copyWith(fontSize: 16.0, fontWeight: FontWeight.w400),
body1: base.body1.copyWith(fontSize: 14.0, fontWeight: FontWeight.w400),
body2: base.body2.copyWith(fontSize: 14.0, fontWeight: FontWeight.w500),
caption: base.caption.copyWith(
fontWeight: FontWeight.w400,
fontSize: 12.0,
),
)
.apply(
fontFamily: 'myfont',
displayColor: Colors.black,
bodyColor: Colors.black,
);
}
我使用 Theme.of(context.textTheme
在整个应用程序中沿着小部件树设置文本样式。
例如:到我使用的标题
Text('Title', style:Theme.of(context).textTheme.title),
我用的字幕
Text('Title', style:Theme.of(context).textTheme.subhead),
它按预期工作。但是现在我想使用 CupertinoApp
如果当前平台是 ios,因为它提供了原生 ios 的感觉
如何添加应用相同文本主题的 CupertionApp?
最佳答案
您可以使用 Theme
小部件包装 CupertinoApp
:
Theme(
data: yourThemeData(), //your theme data here
child: CupertinoApp(...),
);
关于ios - 使用 ThemeData 作为 CupertinoApp 的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57737787/
使用 MaterialApp,您可以提供 navigatorKey 并在您的中间件中使用它来在必要时重定向用户(就像在 flutter redux 示例中所做的那样)。 但是 CupertinoApp
我的应用程序是使用 MaterialApp 作为根小部件构建的。对于这个 Material 应用程序,我添加了一个主题如下: MaterialApp( theme: myTheme, home
我在学习 Flutter 时遇到了两种类型的设计 MaterialApp 和 CupertinoApp。所以,我想知道我们是否要为 android 和 ios 创建一个应用程序,我们是否应该创建一个单
我正在使用 CupertinoApp 小部件来包装我的应用程序,同时尝试在其中使用 Material TextFormField 小部件。 例如,当我触发文本选择模式(双击文本字段)时,出现以下错误(
我是一名优秀的程序员,十分优秀!