Flpertter CupertinoButton颜色总是灰色

时间:2018-04-27 05:13:00

标签: dart flutter

您好我有以下的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),
                  ),
                )
              ],
            ),
          ],
        )
      )
    )
  )
);
  }
}

2 个答案:

答案 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