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;
|
|
}
|
|
}
|