В бд добавлена таблица настроек, данные для настроек берутся из базы
This commit is contained in:
71
lib/screens/settings.dart
Normal file
71
lib/screens/settings.dart
Normal file
@@ -0,0 +1,71 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:http/http.dart';
|
||||
import 'dart:convert';
|
||||
import 'dart:async';
|
||||
import 'package:checker/common.dart';
|
||||
import 'package:checker/network.dart';
|
||||
import 'package:checker/consts.dart';
|
||||
import 'package:checker/db.dart';
|
||||
import 'package:checker/strings.dart';
|
||||
import 'package:checker/base_state.dart';
|
||||
import 'package:checker/screens/registration.dart';
|
||||
import 'package:checker/screens/finish_registration.dart';
|
||||
|
||||
class SettingsScreen extends StatefulWidget {
|
||||
@override State createState() => new _SettingsState();
|
||||
}
|
||||
|
||||
class MenuItem {
|
||||
|
||||
MenuItem();
|
||||
|
||||
String title;
|
||||
String selectedValue;
|
||||
}
|
||||
|
||||
class _SettingsState extends BaseState<SettingsScreen> {
|
||||
|
||||
List<MenuItem> menuItems;
|
||||
|
||||
@override onStart() {
|
||||
if (menuItems == null) {
|
||||
helper.getSettings().then((info) {
|
||||
setState(() {
|
||||
|
||||
print("load settings");
|
||||
|
||||
menuItems = [new MenuItem(), new MenuItem()];
|
||||
|
||||
menuItems[0].title = StringsLocalization.locale();
|
||||
menuItems[0].selectedValue = info["locale"];
|
||||
|
||||
menuItems[1].title = StringsLocalization.currency();
|
||||
menuItems[1].selectedValue = info["currency"].toString();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget getScreenContent() {
|
||||
return menuItems == null
|
||||
? getBackground()
|
||||
: new ListView(children: getSettings());
|
||||
}
|
||||
|
||||
List<Widget> getSettings() {
|
||||
List<Widget> widgets = new List();
|
||||
for (MenuItem item in menuItems) {
|
||||
widgets.add(new Row(children: [
|
||||
new Text(item.title, textAlign: TextAlign.left),
|
||||
new Text(item.selectedValue,textAlign: TextAlign.right),
|
||||
new Image.asset(settings_arrow_png, width: 28.0, height: 28.0, alignment: FractionalOffset.centerRight)]));
|
||||
}
|
||||
return widgets;
|
||||
}
|
||||
|
||||
@override
|
||||
String getTitle() {
|
||||
return StringsLocalization.settings();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user