Выпадающее меню с тремя кнопками

This commit is contained in:
Ivan Murashov
2017-09-08 11:01:42 +03:00
parent c703977651
commit c652276066
17 changed files with 111 additions and 94 deletions

View File

@@ -1,5 +1,3 @@
import 'dart:async';
import 'package:checker/resources.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -7,10 +5,12 @@ import 'package:intl/intl.dart';
import 'common.dart';
import 'consts.dart';
import 'strings.dart';
import 'package:checker/db.dart';
abstract class BaseState<T extends StatefulWidget> extends State<T> {
SqliteHelper helper;
/// Тип сборки. Определяет, какие брать ресурсы (цвета, картинки)
String app;
@@ -31,7 +31,10 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
platform.invokeMethod('getFlavor').then((flavor) {
setState(() {
app = flavor;
onStart();
helper = new SqliteHelper();
helper.open().then((_){
onStart();
});
});
});
}
@@ -57,7 +60,7 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
}
void onStart() {
print("ON START!");
}
/// Возвращает контейнер с всеми виджетами экрана.
@@ -72,7 +75,22 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
}
List<Widget> getMenuButtons() {
return <Widget>[getFaqButton()];
return <Widget>[
new PopupMenuButton(
itemBuilder: (BuildContext context) {
[
new PopupMenuItem(
child: new Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
new Image.asset(
settings_png, width: 48.0, height: 48.0),
new Image.asset(help_png, width: 48.0, height: 48.0),
new Image.asset(logout_png, width: 48.0, height: 48.0),
]))
];
}
)];
}
Widget getFaqButton() {