Flutter CupertinoSlider Widget使用详解

CupertinoSlider Widget是一个Cupertino风格的滑块部件,类似于Flutter中的Slider Widget。它提供了一个可以滑动的条形控件,用户可以通过拖动滑块来选择值。

CupertinoSlider Widget具有以下属性:

  • value: 一个双精度浮点数,表示当前的值。必需的。
  • onChanged: 一个ValueChanged类型的回调函数,表示当用户改变滑块的值时所调用的函数。必需的。
  • min: 一个双精度浮点数,表示滑块的最小值。默认为0.0。
  • max: 一个双精度浮点数,表示滑块的最大值。默认为1.0。
  • activeColor: 一个CupertinoDynamicColor类型的值,表示滑块的活动颜色。
  • thumbColor: 一个CupertinoDynamicColor类型的值,表示滑块的拇指颜色。
  • trackHeight: 一个双精度浮点数,表示滑块的轨道高度。
  • thumbRadius: 一个双精度浮点数,表示滑块的拇指半径。
  • semanticFormatterCallback: 一个SemanticFormatterCallback类型的值,表示用于将滑块的值格式化为语义文本的回调函数。

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

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  double _value = 50.0;

  void _handleSliderChanged(double value) {
    setState(() {
      _value = value;
    });
  }

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        middle: Text('My App'),
      ),
      child: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Value: ${_value.toStringAsFixed(0)}',
              style: TextStyle(fontSize: 20),
            ),
            SizedBox(height: 20),
            CupertinoSlider(
              value: _value,
              min: 0,
              max: 100,
              onChanged: _handleSliderChanged,
            ),
          ],
        ),
      ),
    );
  }
}

在上面的例子中,我们使用了CupertinoSlider Widget来创建一个滑块部件。我们将其包含在一个Center Widget中,并使用Column Widget将其与一个文本部件垂直居中。我们还定义了一个变量_value来存储当前滑块的值,并在回调函数_handleSliderChanged中更新它。我们使用Text Widget来显示当前滑块的值,并将其传递给CupertinoSlider Widget。

总之,CupertinoSlider Widget是一个非常有用的Cupertino风格的小部件,可以为您的应用程序提供一个美观而易于使用的滑块部件,以便用户可以轻松地选择值。

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

results matching ""

    No results matching ""