Die unteren Navigationsleisten scrollen normalerweise nicht. Können Sie Ihre BottomNavigationBar
in den Scaffold
's bottomNavigationBar
Slot setzen und eine AnimatedCrossFade
verwenden, wenn Sie es in und außer Sicht bringen wollen? Wenn dies Ihren Anwendungsfall nicht löst, sollten Sie den Scrolling-Effekt, den Sie erreichen möchten, präzisieren.
Edit: Wenn Sie nur ein Widget am unteren Bildschirmrand positionieren und es über Ihre Liste gestapelt haben möchten, können Sie eine Stack
verwenden.
import 'dart:collection';
import 'package:flutter/scheduler.dart';
import 'package:flutter/material.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
primaryColorBrightness: Brightness.light,
),
home: new MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
State createState() => new MyHomePageState();
}
class MyHomePageState extends State<MyHomePage> {
ScrollController _scrollController = new ScrollController();
List<Widget> _items = new List.generate(60, (index) {
return new Text("item $index");
});
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Stack(
children: [
new ListView(
controller: _scrollController,
children: new UnmodifiableListView(_items),
),
new Positioned(
top: 0.0,
left: 0.0,
right: 0.0,
child: new AppBar(
elevation: 0.0,
backgroundColor: Colors.white.withOpacity(0.8),
title: new Text('Sliver App Bar'),
),
),
new Positioned(
left: 0.0,
right: 0.0,
bottom: 0.0,
child: new Container(
decoration: new BoxDecoration(
border: new Border.all(
width: 3.0,
color: Colors.blue.shade200.withOpacity(0.5)
),
color: Colors.white.withOpacity(0.8),
borderRadius: new BorderRadius.all(
new Radius.circular(10.0),
),
),
height: 40.0,
margin: const EdgeInsets.symmetric(
horizontal: 20.0, vertical: 10.0)
),
),
],
),
);
}
}
Added Screenshots eine bessere Beschreibung für den Fall zu erhalten. Danke Collin. –
Stimmt, ich habe angefangen, Sliver zu verwenden, um die Leiste zu verstecken und dann den Google Allo-Stil mit Deckkraft zu verwenden, um Code zu verstecken, kann vereinfacht werden. Danke für deine Hilfe Collin. –