103 lines
3.3 KiB
Dart
103 lines
3.3 KiB
Dart
import 'package:aitrainer_app/localization/app_language.dart';
|
|
import 'package:aitrainer_app/localization/app_localization.dart';
|
|
import 'package:aitrainer_app/widgets/bottom_nav.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
|
|
|
class SettingsPage extends StatefulWidget{
|
|
_SettingsPageState _state;
|
|
|
|
_SettingsPageState createState() {
|
|
_state = new _SettingsPageState();
|
|
return _state;
|
|
}
|
|
}
|
|
|
|
class _SettingsPageState extends State<SettingsPage> {
|
|
final AppLanguage appLanguage = AppLanguage();
|
|
Locale _locale;
|
|
|
|
final _formKey = GlobalKey<FormState>();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
BottomNavigator bottomNav = BottomNavigator();
|
|
_locale = appLanguage.appLocal;
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
title: Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
children: <Widget>[
|
|
Text(AppLocalizations.of(context).translate('Settings')),
|
|
Image.asset(
|
|
'asset/image/WT_long_logo.png',
|
|
fit: BoxFit.cover,
|
|
height: 65.0,
|
|
),
|
|
],
|
|
),
|
|
//title: Text(AppLocalizations.of(context).translate('Settings')),
|
|
backgroundColor: Colors.transparent,
|
|
),
|
|
body: Container(
|
|
decoration: BoxDecoration(
|
|
image: DecorationImage(
|
|
image: AssetImage('asset/image/WT_light_background.png'),
|
|
fit: BoxFit.cover,
|
|
alignment: Alignment.center,
|
|
),
|
|
),
|
|
child: Form(
|
|
key: _formKey,
|
|
child:
|
|
ListView(
|
|
padding: EdgeInsets.only(top: 150),
|
|
children: <Widget>[
|
|
ListTile(
|
|
leading: Icon(Icons.language),
|
|
subtitle: Text(AppLocalizations.of(context).translate("Change App Language")),
|
|
title: DropdownButton(
|
|
value: _locale == Locale('en') ? AppLocalizations.of(context).translate("English") : AppLocalizations.of(context).translate("Hungarian"),
|
|
items: [AppLocalizations.of(context).translate("English"), AppLocalizations.of(context).translate("Hungarian")]
|
|
.map<DropdownMenuItem<String>>((String value) {
|
|
return DropdownMenuItem<String>(
|
|
value: value,
|
|
child: Text(value),
|
|
);
|
|
}).toList(),
|
|
onChanged:(String lang) => _changeLanguage(lang),
|
|
)
|
|
|
|
),
|
|
]
|
|
|
|
),
|
|
),
|
|
),
|
|
bottomNavigationBar: bottomNav.buildBottomNavigator(context, widget._state)
|
|
|
|
);
|
|
}
|
|
|
|
_changeLanguage( String lang ) {
|
|
|
|
setState(() {
|
|
switch ( lang ) {
|
|
case "English":
|
|
case "Angol":
|
|
_locale = Locale('en');
|
|
break;
|
|
case "Hungarian":
|
|
case "Magyar":
|
|
_locale = Locale('hu');
|
|
break;
|
|
}
|
|
appLanguage.changeLanguage(_locale);
|
|
AppLocalizations.of(context).setLocale(_locale);
|
|
AppLocalizations.of(context).load();
|
|
|
|
});
|
|
}
|
|
} |