workouttest_app/lib/view/settings.dart
Bossanyi Tibor 2177db10ea Aitrainer_app 1.1.1
test menu, customer modification, exercise save images, localization
2020-07-07 16:53:03 +02:00

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();
});
}
}