Flutter 填充值的常量值无效

Chr*_*ris 1 widget padding dart flutter flutter-layout

我有一个Widget包裹在Padding. 我想分别了解rightPadding当前width设备的。这是我尝试过的:

  child: Padding(
    padding: const EdgeInsets.only(
        top: 8,
        bottom: 8,
        right: MediaQuery.of(context).size.width / 30), // -> error
    child: Image.asset('assets/images/person.png'),
  ),
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

无效常量值

这是为什么?我该如何解决这个问题?

YoB*_*oBo 6

You need to remove const before EdgeInsets. Why? Because it can't be constant if you are using var(MediaQuery.of(context).size.width).

尝试这个:

child: Padding(
    padding: EdgeInsets.only(
        top: 8,
        bottom: 8,
        right: MediaQuery.of(context).size.width / 30), // -> error
    child: Image.asset('assets/images/person.png'),
  ),
Run Code Online (Sandbox Code Playgroud)