假设我有这门课:
class AppTheme {
final BuildContext context;
AppTheme(this.context);
TextStyle caption() {
return Theme.of(context).textTheme.caption.copyWith(
color: Colors.black
);
}
}
Run Code Online (Sandbox Code Playgroud)
如何以可以使用以下方式访问的方式修改它caption:
AppTheme.of(context).caption();
Run Code Online (Sandbox Code Playgroud)
我不确定为什么你需要这样,当你已经可以轻松使用它时
AppTheme(context).caption();
Run Code Online (Sandbox Code Playgroud)
但如果你真的需要它,你可以尝试这个:
class AppTheme {
final BuildContext context;
AppTheme._(this.context); // make this constructor private
static AppTheme of(BuildContext context) => AppTheme._(context); // pass context to above constructor
TextStyle caption() {
return Theme.of(context).textTheme.caption.copyWith(color: Colors.black);
}
}
Run Code Online (Sandbox Code Playgroud)
你可以使用它
AppTheme.of(context).caption();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |