Вы можете построить, используя виджет диалога.
Следующий код поможет вам понять больше.
Примечание: я продемонстрировал использование нового виджета с отслеживанием состояния, потому что на снимке экрана вы хотите выбрать переключатель и изменение состояния невозможно, поэтому виджет с сохранением состояния необходимо. Если вы не хотите изменять состояние муравья, если вы не хотите вызывать setState, тогда вы можете создать виджет, где я вызываю виджет с состоянием.
class MyApp extends StatefulWidget {
@override
MyAppState createState() => MyAppState();
}
class MyAppState extends State<MyApp> {
List list = List();
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
color: Colors.red,
child: Center(
child: RaisedButton(
child: Text("click!"),
onPressed: () async {
showDialog(
context: context,
builder: (_) {
return NewScreen();
});
},
),
),
),
);
}
}
class NewScreen extends StatefulWidget {
@override
_NewScreenState createState() => _NewScreenState();
}
class _NewScreenState extends State<NewScreen> {
@override
Widget build(BuildContext context) {
return Material(
color: Colors.transparent,
elevation: 0.0,
child: Container(
color: Colors.white,
margin: EdgeInsets.all(40),
child: ListView.builder(
itemCount: 20,
itemBuilder: (_, index) {
return Text(index.toString());
},
),
),
);
}
}