小编iDe*_*ode的帖子

如何在InheritedWidget中调用setState或更新值?

可重现的代码:

void main() => runApp(MaterialApp(home: CountInheritedWidget(child: HomePage())));

class CountInheritedWidget extends InheritedWidget {
  CountInheritedWidget({Widget child}) : super(child: child);

  final Map<String, int> _map = {"count": 0};

  // getter
  int get value => _map["count"];

  // setter
  set value(int x) => _map["count"] = x; // is there anything like setState here?

  @override
  bool updateShouldNotify(CountInheritedWidget oldCounter) => true;

  static CountInheritedWidget of(BuildContext context) => context.dependOnInheritedWidgetOfExactType<CountInheritedWidget>();
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center, …
Run Code Online (Sandbox Code Playgroud)

dart flutter

8
推荐指数
1
解决办法
4422
查看次数

如何更改 ElevatedButton 和 OutlinedButton 的禁用颜色

ElevatedButton和小部件中没有这样的属性OutlinedButton来像常规RaisedButton.

ElevatedButton(
  onPressed: null,
  disabledColor: Colors.brown, // Error
}
Run Code Online (Sandbox Code Playgroud)

flutter

8
推荐指数
1
解决办法
4608
查看次数

如何从 Android Studio Bumblebee 隐藏缩放控制器?

在最新的 Android Studio Bumbleebee 中运行 Android 模拟器时,我在其顶部看到了这些控件。我怎样才能隐藏或删除它们?

在此输入图像描述

android intellij-idea android-emulator android-studio android-studio-bumblebee

8
推荐指数
1
解决办法
886
查看次数

如何在 Flutter 中更新 pubspec.yaml 文件中的单个包

假设我的pubspec.yaml文件中有两个包。

abc: any
xyz: any
Run Code Online (Sandbox Code Playgroud)

现在,我只想更新abc包,我该怎么做,有没有类似的命令

flutter update abc
Run Code Online (Sandbox Code Playgroud)

dart flutter

7
推荐指数
1
解决办法
2470
查看次数

Visibility vs Offstage vs Opacity,哪个最能将孩子隐藏在小部件树中?

这个线程我发现有很多方法可以从树层次结构中隐藏小部件。喜欢使用:

Visibility

Visibility(
  visible: false,
  child: Foo(),
);
Run Code Online (Sandbox Code Playgroud)

Offstage

Offstage(
  offstage: true,
  child: Foo(),
);
Run Code Online (Sandbox Code Playgroud)

Opacity

Opacity(
  opacity: 0,
  child: Foo(),
);
Run Code Online (Sandbox Code Playgroud)

if 健康)状况:

if (visible) {
  child
}
Run Code Online (Sandbox Code Playgroud)

什么不是。

他们中的哪一个是首选(我知道Visibility是那个,为什么Visibility),if条件和之间有什么区别Visibility,我如何衡量性能。Opacity文档提到:

不透明度比按需从树中添加和删除子小部件更有效。

那是什么意思,是为了if条件吗?如果是,if那么在这四个中处于什么位置?

flutter

7
推荐指数
1
解决办法
1170
查看次数

无法收听广播流

我的标准流:

var stream = (StreamController<int>()..add(1)).stream;
stream.listen(print); // prints 1
Run Code Online (Sandbox Code Playgroud)

我的直播流:

var stream = (StreamController<int>.broadcast()..add(1)).stream;
stream.listen(print); // doesn't print anything
Run Code Online (Sandbox Code Playgroud)

dart rxdart

7
推荐指数
1
解决办法
1万
查看次数

List中的[]和elementAt有什么区别?

var ints = [0, 1, 2, 3];
var foo = ints.elementAt(1);
var bar = ints[1];
assert(foo == bar);
Run Code Online (Sandbox Code Playgroud)

elementAt和操作员都[]做同样的工作。两者之间有什么区别吗?如果没有,那么为什么我们可以使用它们时却没有[]在类中定义?IterableelementAt

dart

7
推荐指数
1
解决办法
923
查看次数

数据消息与通知消息(可折叠和不可折叠的混淆)

数据消息:

文件说:

不可折叠:每条消息对客户端应用程序都很重要并且需要传递。除通知消息外,所有消息默认都是不可折叠的。

这意味着数据消息是不可折叠的并且被认为是重要的。然而,文档还说:

当您的应用程序处于后台或终止时,设备会将纯数据消息视为低优先级,并将被忽略。

那么,它们实际上是否重要?如果重要,那么例如,如果应用程序在后台,它们为什么会被忽略。


通知消息:

文件说:

除通知消息外,所有消息默认都是不可折叠的。

我通过 Firebase 通知编辑器发送两条通知消息,并且是可折叠的,旧消息应该折叠(或被最新消息替换),但我可以看到这两条通知都显示在 Android 和 iOS 上。

那么,为什么通知消息被认为是“可折叠的”呢?

android firebase flutter firebase-cloud-messaging

7
推荐指数
1
解决办法
1141
查看次数

无法在 Android Studio 终端中更改 shell

我的系统终端使用zshshell,但我的 Android Studio 终端使用bash. 跑步时

echo $SHELL
Run Code Online (Sandbox Code Playgroud)

系统终端打印:

/bin/zsh

Android Studio 终端打印:

/bin/bash

我尝试使用以下命令更改 Android Studio 终端中的 shell:

chsh -s /bin/zsh
Run Code Online (Sandbox Code Playgroud)

但它不会改变外壳。这是我运行的命令:

iDecodes-mac:example iDecode$ chsh -s /bin/zsh
Changing shell for iDecode.
Password for iDecode:
chsh: no changes made
iDecodes-mac:example iDecode$ echo $SHELL
/bin/bash
Run Code Online (Sandbox Code Playgroud)

terminal android android-studio macos-big-sur

7
推荐指数
1
解决办法
2517
查看次数

如何在 json_serialized 中使用私有构造函数

我在类中使用私有构造函数,但代码生成失败

该类Foo没有默认构造函数。

我正在使用最新json_serializable: 版本,即6.1.5

@JsonSerializable()
class Foo {
  final int count;
  Foo._(this.count);

  factory Foo.fromJson(Map<String, dynamic> json) => _$Foo._FromJson(json);
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

dart flutter json-serializable

7
推荐指数
1
解决办法
1092
查看次数