В моем приложении будет 2 языка (арабский и английский). Я создал страницу настроек, где пользователь может переключать язык в зависимости от того, какие клавиши FlatButton
они нажимают. Но я хочу изменить FlatButtons
на DropdownButtons
. На данный момент код работает, и я могу успешно переключать язык в приложении.
Вот как выглядит код:
import 'package:flutter/material.dart';
import '../drawer/drawer.dart';
import '../app_localization.dart';
import '../locale_helper.dart';
class AppSettings extends StatefulWidget {
static const routeName = '/settings-screen';
@override
_AppSettingsState createState() => _AppSettingsState();
}
class _AppSettingsState extends State<AppSettings> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Settings',),
),
drawer: MyDrawer(),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new FlatButton(
child: new Text("English"),
color: AppLocalizations.of(context).locale == "en"
? Colors.grey
: Colors.blue,
onPressed: () {
this.setState(() {
helper.onLocaleChanged(new Locale("en"));
});
},
),
new FlatButton(
child: new Text("العربية"),
color: AppLocalizations.of(context).locale == "ar"
? Colors.grey
: Colors.blue,
onPressed: () {
this.setState(() {
helper.onLocaleChanged(new Locale("ar"));
});
},
),
],
),
),
);
}
}