Last active
September 3, 2018 14:01
-
-
Save rohan20/2a0cb955ca4ed84b62997aee0e0bbece to your computer and use it in GitHub Desktop.
flutter-localizations
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:your_app_package/application.dart'; | |
import 'package:your_app_package/services/localization/app_translations.dart'; | |
import 'package:flutter/material.dart'; | |
class LanguageSelectorPage extends StatefulWidget { | |
@override | |
_LanguageSelectorPageState createState() => _LanguageSelectorPageState(); | |
} | |
class _LanguageSelectorPageState extends State<LanguageSelectorPage> { | |
//languagesList also moved to the Application class just like the languageCodesList | |
static final List<String> languagesList = application.supportedLanguages; | |
static final List<String> languageCodesList = | |
application.supportedLanguagesCodes; | |
final Map<dynamic, dynamic> languagesMap = { | |
languagesList[0]: languageCodesList[0], | |
languagesList[1]: languageCodesList[1], | |
}; | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: Text( | |
"Select language", | |
), | |
), | |
body: _buildLanguagesList(), | |
); | |
} | |
_buildLanguagesList() { | |
return ListView.builder( | |
itemCount: languagesList.length, | |
itemBuilder: (context, index) { | |
return _buildLanguageItem(languagesList[index]); | |
}, | |
); | |
} | |
_buildLanguageItem(String language) { | |
return InkWell( | |
onTap: () { | |
print(language); | |
application.onLocaleChanged(Locale(languagesMap[language])); | |
}, | |
child: Center( | |
child: Padding( | |
padding: const EdgeInsets.symmetric(vertical: 20.0), | |
child: Text( | |
language, | |
style: TextStyle( | |
fontSize: 24.0, | |
), | |
), | |
), | |
), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment