Flutter CupertinoButton Widget使用详解

CupertinoButton Widget是一个iOS风格的按钮,通常用于应用程序中的操作按钮。

CupertinoButton Widget具有以下属性:

  • child: 一个Widget类型的值,表示按钮的文本或图标。
  • onPressed: 一个VoidCallback类型的值,表示用户单击按钮时应执行的操作。
  • padding: 一个EdgeInsetsGeometry类型的值,表示按钮内边距的大小。
  • color: 一个Color类型的值,表示按钮的背景颜色。
  • disabledColor: 一个Color类型的值,表示按钮禁用时的背景颜色。
  • pressedOpacity: 一个double类型的值,表示用户按下按钮时的不透明度。默认值为0.1。
  • borderRadius: 一个BorderRadiusGeometry类型的值,表示按钮的圆角大小。
  • minSize: 一个double类型的值,表示按钮的最小宽度。默认值为44.0。
  • pressedDuration: 一个Duration类型的值,表示用户按下按钮的持续时间。默认值为Duration.zero,表示无限制持续时间。

下面是一个使用CupertinoButton Widget的例子:

class CupertinoButtonDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Cupertino Button Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            CupertinoButton(
              child: Text('Button 1'),
              onPressed: () {
                print('Button 1 pressed');
              },
            ),
            SizedBox(height: 20.0),
            CupertinoButton(
              child: Text('Button 2'),
              color: Colors.blue,
              onPressed: () {
                print('Button 2 pressed');
              },
            ),
            SizedBox(height: 20.0),
            CupertinoButton.filled(
              child: Text('Button 3'),
              onPressed: () {
                print('Button 3 pressed');
              },
            ),
          ],
        ),
      ),
    );
  }
}

在上面的例子中,我们在屏幕中央显示了三个按钮。第一个按钮只包含文本,没有背景颜色。第二个按钮设置了一个蓝色的背景颜色。第三个按钮使用了CupertinoButton.filled构造函数,它具有一个填充的背景颜色,并且不需要设置color属性。

CupertinoButton Widget的onPressed回调函数表示用户单击按钮时应该执行的操作。如果不需要执行任何操作,则可以将onPressed设置为null。如果需要更改按钮的背景颜色,则可以使用color属性。CupertinoButton Widget还提供了CupertinoButton.filled和CupertinoButton.borderless两种构造函数,它们分别创建一个填充背景颜色和没有背景颜色的按钮。

powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:36:59

results matching ""

    No results matching ""