Я создаю приложение с помощью Flutter. Однако на iOS (вы также можете протестировать его на Android) темная тема не применяется. При использовании виджетов Android все работает нормально.

Как я могу сделать виджеты Купертино, используя темную тему? Особенно для всплывающих окон.

Я использую Flutter 1.9.1 + исправление 6.

Например. Купертино «ActionSheet»:

import 'package:flutter/material.dart';

import 'home.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData.dark(),
      darkTheme: ThemeData.dark(),
      home: Home(),
    );
  }
}
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: RaisedButton(
        child: Text('test'),
        onPressed: () {
          Widget secondaryButton, confirmButton, popup;
          secondaryButton = CupertinoActionSheetAction(
            child: Text('secundary'),
            onPressed: () {},
          );

          confirmButton = CupertinoActionSheetAction(
            child: Text('test'),
            onPressed: () {},
          );

          popup = CupertinoActionSheet(
            title: Text('Title'),
            message: Text('Content'),
            cancelButton: secondaryButton,
            actions: [confirmButton],
          );

          showCupertinoModalPopup(
              context: context, builder: (context) => popup);
        },
      ),
    );
  }
}

Снимок экрана:

link

2
Tien Do Nam 21 Ноя 2019 в 19:24
Здесь был дан ответ: stackoverflow.com/a/58484507/11315821
 – 
Saeed
15 Май 2021 в 11:06

1 ответ

Проверьте этот репозиторий, вы можете создавать макеты для конкретной платформы, используя только один виджет, который выполняет все стандартные шаблоны для конкретной платформы. для тебя. Также есть поддержка темного режима, по крайней мере, в iOS.

2
Bruno Miguens 21 Ноя 2019 в 20:47