42 lines
840 B
Dart
42 lines
840 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
class _ResponsiveGridConfig {
|
|
final int crossAxisCount;
|
|
final double childAspectRatio;
|
|
|
|
_ResponsiveGridConfig(this.crossAxisCount, this.childAspectRatio);
|
|
}
|
|
|
|
_ResponsiveGridConfig _getGridConfig(
|
|
BuildContext context,
|
|
bool isEnrollment,
|
|
) {
|
|
final width = MediaQuery.of(context).size.width;
|
|
|
|
if (width < 600) {
|
|
// Mobile
|
|
return _ResponsiveGridConfig(
|
|
1,
|
|
isEnrollment ? 1.25 : 1.15,
|
|
);
|
|
} else if (width < 900) {
|
|
// Tablet
|
|
return _ResponsiveGridConfig(
|
|
2,
|
|
isEnrollment ? 1.6 : 1.45,
|
|
);
|
|
} else if (width < 1200) {
|
|
// Small desktop
|
|
return _ResponsiveGridConfig(
|
|
3,
|
|
isEnrollment ? 2.1 : 1.9,
|
|
);
|
|
} else {
|
|
// Large desktop
|
|
return _ResponsiveGridConfig(
|
|
4,
|
|
isEnrollment ? 2.8 : 2.4,
|
|
);
|
|
}
|
|
}
|