Как сделать выпадающий локализатор в моем приложении? - PullRequest
0 голосов
/ 19 октября 2019

В моем приложении будет 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"));
                });
              },
            ),
          ],
        ),
      ),
    );
  }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...