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

View File

@ -491,10 +491,15 @@ 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>[
SliverAppBar(
//expandedHeight: 100.0,
floating: true,
pinned: true,
primary: true,
title: _buildAppTitle(), title: _buildAppTitle(),
leading: IconButton( leading: IconButton(
icon: Icon(Icons.menu), icon: Icon(Icons.menu),
@ -505,13 +510,18 @@ class _MainPageState extends State<MainPage> with WidgetsBindingObserver {
}); });
}, },
), ),
primary: true, flexibleSpace: FlexibleSpaceBar(
centerTitle: false,
//title: _buildAppTitle(),
),
bottom: empty ? null : TabBar( bottom: empty ? null : TabBar(
tabs: buildUIViewTabs(), tabs: buildUIViewTabs(),
isScrollable: true, isScrollable: true,
), ),
), ),
drawer: _buildAppDrawer(),
];
},
body: empty ? body: empty ?
Center( Center(
child: Column( child: Column(
@ -526,7 +536,7 @@ class _MainPageState extends State<MainPage> with WidgetsBindingObserver {
), ),
) )
: :
_homeAssistant.buildViews(context, _useLovelaceUI) _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),
),
); );
} }
} }