aves/lib/widgets/common/extensions/media_query.dart
2021-06-08 12:22:53 +09:00

65 lines
2.4 KiB
Dart

import 'dart:math';
import 'package:flutter/widgets.dart';
extension ExtraMediaQueryData on MediaQueryData {
/*
examples of MediaQuery props in practice
-- Flutter v1.22.5
S20, Android 11, portrait, notch top, button nav bar bottom
padding EdgeInsets(0.0, 26.0, 0.0, 48.0)
viewPadding EdgeInsets(0.0, 26.0, 0.0, 48.0)
viewInsets EdgeInsets.zero
S20, Android 11, landscape, notch left, button nav bar right
padding EdgeInsets(26.0, 24.0, 0.0, 0.0)
viewPadding EdgeInsets(26.0, 24.0, 0.0, 0.0)
viewInsets EdgeInsets.zero
S10e, Android 10, portrait, notch top, button nav bar bottom
padding EdgeInsets(0.0, 39.0, 0.0, 0.0)
viewPadding EdgeInsets(0.0, 39.0, 0.0, 0.0)
viewInsets EdgeInsets(0.0, 0.0, 0.0, 48.0)
S10e, Android 10, portrait, notch top, gesture nav bar bottom
padding EdgeInsets(0.0, 39.0, 0.0, 0.0)
viewPadding EdgeInsets(0.0, 39.0, 0.0, 0.0)
viewInsets EdgeInsets(0.0, 0.0, 0.0, 15.0)
S10e, Android 10, landscape, notch left, button nav bar right
padding EdgeInsets(38.7, 24.0, 0.0, 0.0)
viewPadding EdgeInsets(38.7, 24.0, 0.0, 0.0)
viewInsets EdgeInsets.zero
S7, portrait/landscape, no notch, no nav bar
padding EdgeInsets(0.0, 24.0, 0.0, 0.0)
viewPadding EdgeInsets(0.0, 24.0, 0.0, 0.0)
viewInsets EdgeInsets.zero
-- Flutter v2.2.1
S10e, Android 11, portrait, notch top, button nav bar bottom, keyboard off
padding EdgeInsets(0.0, 39.0, 0.0, 48.0)
viewPadding EdgeInsets(0.0, 39.0, 0.0, 48.0)
viewInsets EdgeInsets.zero
S10e, Android 11, portrait, notch top, button nav bar bottom, keyboard on
padding EdgeInsets(0.0, 39.0, 0.0, 0.0)
viewPadding EdgeInsets(0.0, 39.0, 0.0, 48.0)
viewInsets EdgeInsets(0.0, 0.0, 0.0, 338.0)
S10e, Android 11, portrait, notch top, gesture nav bar bottom, keyboard off
padding EdgeInsets(0.0, 39.0, 0.0, 15.0)
viewPadding EdgeInsets(0.0, 39.0, 0.0, 15.0)
viewInsets EdgeInsets.zero
S10e, Android 11, portrait, notch top, gesture nav bar bottom, keyboard on
padding EdgeInsets(0.0, 39.0, 0.0, 0.0)
viewPadding EdgeInsets(0.0, 39.0, 0.0, 15.0)
viewInsets EdgeInsets(0.0, 0.0, 0.0, 338.0)
*/
double get effectiveBottomPadding => max(viewPadding.bottom, viewInsets.bottom);
}