| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import 'package:e2ee_chat/l10n/localization_intl.dart';
- import 'package:e2ee_chat/presenter/locale.dart';
- import 'package:flutter/material.dart';
- import 'package:provider/provider.dart';
- class LanguageRoute extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- var color = Theme.of(context).primaryColor;
- var localeModel = Provider.of<LocaleModel>(context);
- //构建语言选择项
- Widget _buildLanguageItem(String lan, value) {
- return ListTile(
- title: Text(
- lan,
- // 对APP当前语言进行高亮显示
- style: TextStyle(color: localeModel.locale == value ? color : null),
- ),
- trailing:
- localeModel.locale == value ? Icon(Icons.done, color: color) : null,
- onTap: () {
- // 更新locale后MaterialApp会重新build
- localeModel.locale = value;
- },
- );
- }
- return Scaffold(
- appBar: AppBar(
- title: Text(GmLocalizations.of(context).language),
- ),
- body: ListView(
- children: <Widget>[
- _buildLanguageItem("中文简体", "zh_CN"),
- _buildLanguageItem("English", "en_US"),
- _buildLanguageItem(GmLocalizations.of(context).auto, null),
- ],
- ),
- );
- }
- }
|