theme.dart 1003 B

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:e2ee_chat/common/global.dart';
  2. import 'package:e2ee_chat/l10n/localization_intl.dart';
  3. import 'package:e2ee_chat/presenter/theme.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:provider/provider.dart';
  6. class ThemeRoute extends StatelessWidget{
  7. @override
  8. Widget build(BuildContext context) {
  9. return Scaffold(
  10. appBar: AppBar(
  11. title: Text(GmLocalizations.of(context).theme),
  12. ),
  13. body: ListView( //显示主题色块
  14. children: Global.themes.map<Widget>((e) {
  15. return GestureDetector(
  16. child: Padding(
  17. padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 16),
  18. child: Container(
  19. color: e,
  20. height: 40,
  21. ),
  22. ),
  23. onTap: () {
  24. //主题更新后,MaterialApp会重新build
  25. Provider.of<ThemeModel>(context).theme = e;
  26. },
  27. );
  28. }).toList(),
  29. ),
  30. );
  31. }
  32. }