[Flutter]CupertinoPickerの初期値を設定するには?

Flutter

どうも、ちょげ(@chogetarou)です。

CupertinoPickerの初期値を設定する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

CupertinoPickerの初期値を設定するには、引数「scrollController」を使います。

まず、CupertinoPickerの引数「scrollController」にFixedExtentScrollControllerを指定します。。

そして、FixedExtentScrollControllerの引数「initialItem」に初期値にするインデックスを指定します。

CupertinoPicker(
  scrollController: FixedExtentScrollController(initialItem: /*初期値にするインデックス*/),
  ・・・・
),

引数「scrollController」を使えば、CupertinoPickerの初期値を設定することが出来ます。

使用例

以下は、使用例です。

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

class _MyHomePageState extends State<MyHomePage> {
  var _selectedValue = 2;
  final _fruits = [
    "Apple",
    "Banana",
    "StrawBerry",
    "Orange",
    "Watermelon",
  ];
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: CupertinoPageScaffold(
        child: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              Text('${_fruits[_selectedValue]}'),
              Container(
                height: 200,
                child: CupertinoPicker(
                  scrollController:
                      FixedExtentScrollController(initialItem: _selectedValue),
                  itemExtent: 50.0,
                  children: _fruits.map((e) => Center(child: Text(e))).toList(),
                  onSelectedItemChanged: (newValue) {
                    setState(() {
                      _selectedValue = newValue;
                    });
                  },
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

コメント

タイトルとURLをコピーしました