23 lines
528 B
Dart
23 lines
528 B
Dart
|
import 'package:flutter/material.dart';
|
||
|
|
||
|
extension Responsive on BuildContext {
|
||
|
T responsive<T>(
|
||
|
T defaultVal, {
|
||
|
T? sm,
|
||
|
T? md,
|
||
|
T? lg,
|
||
|
T? xl,
|
||
|
}) {
|
||
|
final wd = MediaQuery.of(this).size.width;
|
||
|
return wd >= 1280
|
||
|
? (xl ?? lg ?? md ?? sm ?? defaultVal)
|
||
|
: wd >= 1024
|
||
|
? (lg ?? md ?? sm ?? defaultVal)
|
||
|
: wd >= 768
|
||
|
? (md ?? sm ?? defaultVal)
|
||
|
: wd >= 640
|
||
|
? (sm ?? defaultVal)
|
||
|
: defaultVal;
|
||
|
}
|
||
|
}
|