Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
540 of 1024 menu
◀ ▶

Метод adaptive

Метод adaptive виджета AlertDialog Конструктор AlertDialog.adaptive на iOS/macOS рисует Cupertino-стиль, на остальных платформах - Material. Передают title, content и actions, как у обычного диалога. Удобно с showAdaptiveDialog.

Синтаксис

AlertDialog.adaptive( title: Text('abcde'), content: Text('12345'), actions: [ TextButton(onPressed: () {}, child: Text('abcde')), ], )

Параметры

Параметр Описание
title Заголовок окна.
content Основной текст или виджет.
actions Кнопки внизу диалога.

Пример

Давайте откроем adaptive-диалог через showDialog:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: AdaptiveDlgDemo())); } class AdaptiveDlgDemo extends StatelessWidget { const AdaptiveDlgDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { showDialog( context: context, builder: (BuildContext ctx) { return AlertDialog.adaptive( title: Text('abcde'), content: Text('12345'), actions: [ TextButton( onPressed: () { Navigator.of(ctx).pop(); }, child: Text('abcde'), ), ], ); }, ); }, child: Text('abcde'), ), ), ); } }

Окно подстроится под платформу, где запущено приложение.

Пример

Давайте вызовем showAdaptiveDialog с adaptive-виджетом:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: AdaptiveShowDemo())); } class AdaptiveShowDemo extends StatelessWidget { const AdaptiveShowDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { showAdaptiveDialog( context: context, builder: (BuildContext ctx) { return AlertDialog.adaptive( title: Text('12345'), content: Text('abcde'), ); }, ); }, child: Text('12345'), ), ), ); } }

showAdaptiveDialog и AlertDialog.adaptive работают в паре.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить