mirror of
https://github.com/wgh136/pixes.git
synced 2025-09-27 12:57:24 +00:00
show downloaded list and view downloaded illusts
This commit is contained in:
@@ -25,6 +25,45 @@ class SliverGridViewWithFixedItemHeight extends StatelessWidget {
|
||||
)));
|
||||
}
|
||||
|
||||
double calcChildAspectRatio(double width) {
|
||||
var crossItems = width ~/ maxCrossAxisExtent;
|
||||
if (width % maxCrossAxisExtent != 0) {
|
||||
crossItems += 1;
|
||||
}
|
||||
final itemWidth = width / crossItems;
|
||||
return itemWidth / itemHeight;
|
||||
}
|
||||
}
|
||||
|
||||
class GridViewWithFixedItemHeight extends StatelessWidget {
|
||||
const GridViewWithFixedItemHeight(
|
||||
{ required this.builder,
|
||||
required this.itemCount,
|
||||
required this.maxCrossAxisExtent,
|
||||
required this.itemHeight,
|
||||
super.key});
|
||||
|
||||
final Widget Function(BuildContext, int) builder;
|
||||
|
||||
final int itemCount;
|
||||
|
||||
final double maxCrossAxisExtent;
|
||||
|
||||
final double itemHeight;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: ((context, constraints) => GridView.builder(
|
||||
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
|
||||
maxCrossAxisExtent: maxCrossAxisExtent,
|
||||
childAspectRatio:
|
||||
calcChildAspectRatio(constraints.maxWidth)),
|
||||
itemBuilder: builder,
|
||||
itemCount: itemCount,
|
||||
)));
|
||||
}
|
||||
|
||||
double calcChildAspectRatio(double width) {
|
||||
var crossItems = width ~/ maxCrossAxisExtent;
|
||||
if (width % maxCrossAxisExtent != 0) {
|
||||
|
Reference in New Issue
Block a user