当某个按钮被按下时,我想显示CupertinoPicker。然而,我不知道应该在哪里实现CupertinoPicker。
下面的代码是我不知道在哪里写来调用的代码示例。
showCupertinoModalPopup<String>(
context: context,
builder:(BuildContext context){
return _buildBottomPicker(CupertinoPicker(
onSelectedItemChanged: (value){
setState((){
selectedValue = value;
});
},
itemExtent: 32.0,
children: const[
Text('Item01'),
Text('Item02'),
Text('Item03'),
],
));
},
);发布于 2020-01-02 13:21:07
这是一个完整的可行的演示,当一个按钮被按下时,它会启动库比蒂诺选择器。希望这能解决你的问题。
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: WeightSelect(),
debugShowCheckedModeBanner: false,
);
}
}
class WeightSelect extends StatefulWidget {
@override
_WeightSelectState createState() => _WeightSelectState();
}
class _WeightSelectState extends State<WeightSelect> {
int selectedValue;
showPicker() {
showModalBottomSheet(
context: context,
builder: (BuildContext context) {
return CupertinoPicker(
backgroundColor: Colors.white,
onSelectedItemChanged: (value) {
setState(() {
selectedValue = value;
});
},
itemExtent: 32.0,
children: const [
Text('Item01'),
Text('Item02'),
Text('Item03'),
],
);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Cupertino picker demo"),
),
body: Column(
children: <Widget>[
const SizedBox(height: 10.0),
Text("Selected: $selectedValue"),
const SizedBox(height: 10.0),
Center(
child: RaisedButton(
onPressed: showPicker,
child: Text("Show picker"),
),
),
],
),
);
}
}发布于 2020-01-02 13:15:54
它应该是当你想要打开一个弹出式的或者带有iOS风格的提示对话框时编写的。
您可以在此处查看演示:http://flutterdevs.com/blog/know-your-widgets-1-cupertino-ios-style-actionsheet-in-flutter/
当您需要用户的某些确认或指示时,它可能会在单击按钮时显示。

https://stackoverflow.com/questions/59558536
复制相似问题