This commit is contained in:
Yegor Vialov 2018-11-14 18:03:50 +02:00
parent 57c30917b3
commit 874410964d

View File

@ -491,42 +491,52 @@ class _MainPageState extends State<MainPage> with WidgetsBindingObserver {
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>(); final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
Scaffold _buildScaffold(bool empty) { Widget _buildScaffoldBody(bool empty) {
return Scaffold( return NestedScrollView(
key: _scaffoldKey, headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
appBar: AppBar( return <Widget>[
title: _buildAppTitle(), SliverAppBar(
leading: IconButton( //expandedHeight: 100.0,
icon: Icon(Icons.menu), floating: true,
onPressed: () { pinned: true,
_scaffoldKey.currentState.openDrawer(); primary: true,
setState(() { title: _buildAppTitle(),
_accountMenuExpanded = false; leading: IconButton(
}); icon: Icon(Icons.menu),
}, onPressed: () {
), _scaffoldKey.currentState.openDrawer();
primary: true, setState(() {
bottom: empty ? null : TabBar( _accountMenuExpanded = false;
tabs: buildUIViewTabs(), });
isScrollable: true, },
), ),
), flexibleSpace: FlexibleSpaceBar(
drawer: _buildAppDrawer(), centerTitle: false,
body: empty ? //title: _buildAppTitle(),
Center( ),
child: Column( bottom: empty ? null : TabBar(
mainAxisAlignment: MainAxisAlignment.center, tabs: buildUIViewTabs(),
children: [ isScrollable: true,
Icon( ),
MaterialDesignIcons.createIconDataFromIconName("mdi:home-assistant"),
size: 100.0,
color: _isLoading == 2 ? Colors.redAccent : Colors.blue,
),
]
), ),
)
: ];
_homeAssistant.buildViews(context, _useLovelaceUI) },
body: empty ?
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
MaterialDesignIcons.createIconDataFromIconName("mdi:home-assistant"),
size: 100.0,
color: _isLoading == 2 ? Colors.redAccent : Colors.blue,
),
]
),
)
:
_homeAssistant.buildViews(context, _useLovelaceUI),
); );
} }
@ -534,11 +544,19 @@ class _MainPageState extends State<MainPage> with WidgetsBindingObserver {
Widget build(BuildContext context) { Widget build(BuildContext context) {
// This method is rerun every time setState is called. // This method is rerun every time setState is called.
if (_homeAssistant.ui == null || _homeAssistant.ui.views == null) { if (_homeAssistant.ui == null || _homeAssistant.ui.views == null) {
return _buildScaffold(true); return Scaffold(
key: _scaffoldKey,
drawer: _buildAppDrawer(),
body: _buildScaffoldBody(true)
);
} else { } else {
return DefaultTabController( return Scaffold(
length: _homeAssistant.ui.views.length, key: _scaffoldKey,
child: _buildScaffold(false) drawer: _buildAppDrawer(),
body: DefaultTabController(
length: _homeAssistant.ui?.views?.length ?? 0,
child: _buildScaffoldBody(false),
),
); );
} }
} }