iOS安卓兼容
iOS风格Push
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
//iOS风格:从右到左划入
platform: TargetPlatform.iOS,
//主体色
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
状态栏
安卓状态栏有灰色半透明遮罩
void main() {
runApp(MyApp());
if (Platform.isAndroid) {
// 下面两行 设置android状态栏为透明。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
SystemUiOverlayStyle systemUiOverlayStyle =
SystemUiOverlayStyle(
//全局设置透明
statusBarColor: Colors.transparent,
//light:黑色图标 dark:白色图标 全局设置
statusBarIconBrightness: Brightness.light
SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
}
}
Flutter修改状态栏字体颜色
方法一:有导航的页面
AppBar(
brightness: Brightness.light,
)
方法二:没有导航的页面
@override
Widget build(BuildContext context) {
return AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.light,
child: Material(child:Scaffold(),),);
}
GridView 关闭滑动
页面场景需要,规律展示,需要关闭滑动
// GridView禁止用户上下滑动使用physics属性
physics: const NeverScrollableScrollPhysics()