什么是 MaterialStateProperty<OutlinedBorder>

What is MaterialStateProperty<OutlinedBorder>

如何使用按钮样式中的形状,MaterialStateProperty 形状

它对我不起作用

这是一个例子,你可以这样做来改变 ElevatedButton 的形状:

ElevatedButton.icon(
          onPressed: () {
            _showCustomerDialog();
          },
          icon: Icon(Icons.person_sharp, color: Colors.black),
          label: Text('Customer 1', style: TextStyle(color: Colors.black)),
          style: ButtonStyle(
            backgroundColor: MaterialStateProperty.all(Color(0xFF10FB06)),
            shape: MaterialStateProperty.all(RoundedRectangleBorder( borderRadius: BorderRadius.circular(40) ))
          ),
        ),

这些是 class 可以应用的形状:

  1. 斜角矩形边框,
  2. 圆形边框,
  3. 连续矩形边框,
  4. MaterialStateOutlinedBorder,
  5. 圆角矩形边框,
  6. 体育场边界

它们都是 OutlinedBorder 的实现,它是一个抽象 class,因此它们都可以将特定形状应用于按钮,根据需要使用其中一个。

更多信息见:https://api.flutter.dev/flutter/painting/OutlinedBorder-class.html