mirror of
https://github.com/flutter/samples.git
synced 2026-07-08 18:13:21 +00:00
Flutter 3.29 beta (#2571)
This commit is contained in:
@@ -28,11 +28,13 @@ void setupWindow() {
|
||||
setWindowMinSize(const Size(windowWidth, windowHeight));
|
||||
setWindowMaxSize(const Size(windowWidth, windowHeight));
|
||||
getCurrentScreen().then((screen) {
|
||||
setWindowFrame(Rect.fromCenter(
|
||||
center: screen!.frame.center,
|
||||
width: windowWidth,
|
||||
height: windowHeight,
|
||||
));
|
||||
setWindowFrame(
|
||||
Rect.fromCenter(
|
||||
center: screen!.frame.center,
|
||||
width: windowWidth,
|
||||
height: windowHeight,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -59,34 +61,33 @@ class MyHomePage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text('Infinite List Sample'),
|
||||
),
|
||||
appBar: AppBar(title: const Text('Infinite List Sample')),
|
||||
body: Selector<Catalog, int?>(
|
||||
// Selector is a widget from package:provider. It allows us to listen
|
||||
// to only one aspect of a provided value. In this case, we are only
|
||||
// listening to the catalog's `itemCount`, because that's all we need
|
||||
// at this level.
|
||||
selector: (context, catalog) => catalog.itemCount,
|
||||
builder: (context, itemCount, child) => ListView.builder(
|
||||
// When `itemCount` is null, `ListView` assumes an infinite list.
|
||||
// Once we provide a value, it will stop the scrolling beyond
|
||||
// the last element.
|
||||
itemCount: itemCount,
|
||||
padding: const EdgeInsets.symmetric(vertical: 18),
|
||||
itemBuilder: (context, index) {
|
||||
// Every item of the `ListView` is individually listening
|
||||
// to the catalog.
|
||||
var catalog = Provider.of<Catalog>(context);
|
||||
builder:
|
||||
(context, itemCount, child) => ListView.builder(
|
||||
// When `itemCount` is null, `ListView` assumes an infinite list.
|
||||
// Once we provide a value, it will stop the scrolling beyond
|
||||
// the last element.
|
||||
itemCount: itemCount,
|
||||
padding: const EdgeInsets.symmetric(vertical: 18),
|
||||
itemBuilder: (context, index) {
|
||||
// Every item of the `ListView` is individually listening
|
||||
// to the catalog.
|
||||
var catalog = Provider.of<Catalog>(context);
|
||||
|
||||
// Catalog provides a single synchronous method for getting the
|
||||
// current data.
|
||||
return switch (catalog.getByIndex(index)) {
|
||||
Item(isLoading: true) => const LoadingItemTile(),
|
||||
var item => ItemTile(item: item)
|
||||
};
|
||||
},
|
||||
),
|
||||
// Catalog provides a single synchronous method for getting the
|
||||
// current data.
|
||||
return switch (catalog.getByIndex(index)) {
|
||||
Item(isLoading: true) => const LoadingItemTile(),
|
||||
var item => ItemTile(item: item),
|
||||
};
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user