我刚刚开始了解Flutter,但我无法弄清楚如何设置按钮的启用状态.
从文档中,它表示设置onPressed为null以禁用按钮,并为其提供一个值以启用它.如果按钮在生命周期中继续处于相同状态,则此功能正常.
我得到的印象是我需要创建一个自定义的有状态窗口小部件,它允许我以某种方式更新按钮的启用状态(或onPressed回调).
所以我的问题是我该怎么做?这似乎是一个非常简单的要求,但我在文档中找不到有关如何做到这一点的任何内容.
谢谢.
我是Flutter的新手,所以我想知道如何设置宽度以匹配父布局宽度
new Container(
width: 200.0,
padding: const EdgeInsets.only(top: 16.0),
child: new RaisedButton(
child: new Text(
"Submit",
style: new TextStyle(
color: Colors.white,
)
),
colorBrightness: Brightness.dark,
onPressed: () {
_loginAttempt(context);
},
color: Colors.blue,
),
),
Run Code Online (Sandbox Code Playgroud)
我对Expanded标签知之甚少,但Expanded扩展视图向两个方向,我不知道该怎么做.如果你知道,请帮助我,先谢谢你.
当我运行我的flutter应用程序时,它会显示"等待另一个flutter命令释放启动锁..."这条消息并没有继续进行.
我无法questions[questionNumber]在 Flutter 中用作文本构造函数。
错误:
对此常量表达式的求值会引发异常。dart(const_eval_throws_exception)
不能将“Null”类型的值分配给 const 构造函数中“String”类型的参数。尝试使用子类型,或删除关键字 'const'.dartconst_constructor_param_type_mismatch
常量创建的参数必须是常量表达式。尝试使参数成为有效常量,或使用“new”调用构造函数。dartconst_with_non_constant_argument
class _QuizPageState extends State<QuizPage> {
List<Widget> scoreKeeper = [];
List<String> questions = [
'You can lead a cow down stairs but not up stairs.',
'Approximately one quarter of human bones are in the feet.',
'A slug\'s blood is green.'
];
int questionNumber = 0;
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Expanded(
flex: 5,
child: Padding(
padding: EdgeInsets.all(10.0),
child: Center(
child: …Run Code Online (Sandbox Code Playgroud) Flutterfire 刚刚添加了一个 CLI 供我们使用,但我在flutterfire configure command. 我不断收到此错误:
我找到 0 个 Firebase 项目。选择项目 liveasy-1。FirebaseCommandException:尝试运行命令时 Firebase CLI 发生错误。命令:firebase --version 错误:FlutterFire CLI 目前还需要安装官方 Firebase CLI,请参阅https://firebase.google.com/docs/cli#install_the_firebase_cli了解如何安装它。
即使我已经安装了 Firebase CLI 并且可以firebase --version毫无问题地运行。我安装了独立的二进制文件,当它不起作用时,我也使用 npm 安装了它。我可以登录并查看我的项目列表,但运行flutterfire configure似乎是一个问题。我也无法在 Visual Studio Code 中访问任何 Firebase 命令。
我应该在环境变量的PATH中添加一些东西吗?我已经添加了 flutterfire 所在的cache/bin/,但我不知道如何对 Firebase 执行相同的操作。
有状态窗口小部件定义为在其生命周期内更改其状态的任何窗口小部件.但是StatelessWidget,拥有一个StatefulWidget孩子是一个非常普遍的做法.StatelessWidget如果它有StatefulWidget一个孩子,不会成为有状态的吗?
我尝试将文档作为代码的一部分进行查看StatelessWidget,但无法弄清楚一个StatelessWidget可以Statefulwidget作为其子代的方式并仍然存在StatelessWidget.
Flutter中有状态和无状态小部件之间的关系和区别是什么?
我的Flutter应用程序中有2个屏幕:记录列表和用于创建和编辑记录的屏幕.
如果我将对象传递给第二个屏幕,这意味着我将编辑它,如果我传递null,则意味着我正在创建新项目.编辑屏幕是有状态的小部件,我不知道如何使用这种方法https://flutter.io/cookbook/navigation/passing-data/为我的情况.
class RecordPage extends StatefulWidget {
final Record recordObject;
RecordPage({Key key, @required this.recordObject}) : super(key: key);
@override
_RecordPageState createState() => new _RecordPageState();
}
class _RecordPageState extends State<RecordPage> {
@override
Widget build(BuildContext context) {
//.....
}
}
Run Code Online (Sandbox Code Playgroud)
如何访问recordObject里面_RecordPageState?
有没有办法在特定页面上停用Android后退按钮?
class WakeUpApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: "Time To Wake Up ?",
home: new WakeUpHome(),
routes: <String, WidgetBuilder>{
'/pageOne': (BuildContext context) => new pageOne(),
'/pageTwo': (BuildContext context) => new pageTwo(),
},
);
}
}
Run Code Online (Sandbox Code Playgroud)
在pageOne上我有一个按钮可以转到pageTwo:
new FloatingActionButton(
onPressed: () {
Navigator.of(context).pushNamed('/pageTwo');
},
)
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我按下Android屏幕底部的后退箭头,我会回到pageOne.我希望这个按钮根本不显示.理想情况下,除非用户将手指按在屏幕上5秒钟,否则我希望没有可能的方法离开此屏幕.(我正在尝试为幼儿写一个应用程序,并希望只有父母能够导航出特定的屏幕).
在flutter docs中,有一个无状态小部件子类的示例代码,如下所示:
class GreenFrog extends StatelessWidget {
const GreenFrog({ Key key }) : super(key: key);
@override
Widget build(BuildContext context) {
return new Container(color: const Color(0xFF2DBD3A));
}
}
Run Code Online (Sandbox Code Playgroud)
还有这个
class Frog extends StatelessWidget {
const Frog({
Key key,
this.color: const Color(0xFF2DBD3A),
this.child,
}) : super(key: key);
final Color color;
final Widget child;
@override
Widget build(BuildContext context) {
return new Container(color: color, child: child);
}
}
Run Code Online (Sandbox Code Playgroud)
什么是关键,什么时候应该使用这个超级构造函数?好像你有自己的构造函数,你必须有{Key key}为什么?我已经看到了其他没有使用super关键字的例子,所以这就是我的困惑所在.