您好我有以下的dart代码,我希望CupertinoButton是橙色的,但无论我做什么它都会保持灰色。我尝试将其更改为不同的颜色,但仍然保持灰色。
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter/cupertino.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setEnabledSystemUIOverlays([]);
return new MediaQuery(
data: new MediaQueryData(),
child: new Container(
decoration: new BoxDecoration(color: Colors.blue),
child: new Directionality(
textDirection: TextDirection.ltr,
child: new Scaffold(
body: new Column(
children: <Widget>[
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new CupertinoButton (
color: Colors.orange,
borderRadius: new BorderRadius.circular(30.0),
child:
new Text("Get Started",
textAlign: TextAlign.center,
style: new TextStyle(color: Colors.white),
),
)
],
),
],
)
)
)
)
);
}
}
答案 0 :(得分:1)
根据documentation。如果您没有提供onPressed a call back功能,该按钮将被禁用。
要使其启用,您可以传递这样的空函数。
preg_match( '/Mozilla/([0-9].[0-9]{1,2})/',$HTTP_USER_AGENT,$log_version)
答案 1 :(得分:0)
是的,您需要将onPressed:
设置为有效值。如果没有它,您的按钮将被禁用。我的IDE实际上没有它就会引发错误。
此外,onPressed: ()=>{}
对我不起作用,但是onPressed: null
确实手动禁用了CupertinoButton。因此,对于我的应用程序,如果通过三进制验证失败,则将onPressed
设置为null。
示例:
onPressed: ()=> $myBoolVarTrue ? _myFunction() : null