import 'package:flutter/material.dart';
///
/// 全面屏适配 ios 可以通过以下两种方式(选择其中一种)进行适配,
/// android 以下也适用但是还需要在android 清单文件AndroidManifest.xml进行配置
///
///
/// android:name="android.max_aspect"
/// android:value="2.3" />
///
class ScreenPageextends StatefulWidget {
@override
_ScreenPageStatecreateState() =>_ScreenPageState();
}
class _ScreenPageStateextends State {
@override
Widgetbuild(BuildContext context) {
return _mediaQuery();
}
///方法一,借助SafeArea 来完成
_safeArea(){
return MaterialApp(
title:'全面屏适配',
theme:ThemeData(primarySwatch: Colors.blue),
home:Container(
decoration:BoxDecoration(color: Colors.white),
child:SafeArea(
child:Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("顶部"),
Text('底部'),
],
),
),
),
);
}
///方法二,通过MediaQuery 实现
_mediaQuery(){
final EdgeInsets padding = MediaQuery.of(context).padding;
return MaterialApp(
title:'全面屏适配',
theme:ThemeData(primarySwatch: Colors.blue),
home:Container(
padding:EdgeInsets.fromLTRB(0, padding.top,0,padding.bottom),
decoration:BoxDecoration(color: Colors.white),
child:Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("顶部"),
Text('底部'),
],
),
),
);
}
}