在Flutter中从Scaffold应用栏中删除投影?

6ioyuze2  于 2023-03-19  发布在  Flutter
关注(0)|答案(4)|浏览(121)

在Flutter中使用Scaffold小部件时,是否有办法移除应用程序栏(AppBar类)下的投影?

67up9zun

67up9zun1#

看一下AppBar构造函数,有一个elevation属性可以用来设置应用程序栏的高度,从而设置阴影投射的数量。

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('My App Title'),
        elevation: 0,
      ),
      body: const Center(
        child: Text('Hello World'),
      ),
    );
  }

ee7vknir

ee7vknir2#

我试过一些可能对你有帮助的方法

AppBar(
backgroundColor: Colors.transparent,
bottomOpacity: 0.0,
elevation: 0.0,
),

看看这个

x6492ojm

x6492ojm3#

如果您想移除所有应用栏的阴影而不重复代码,只需在MaterialApp小部件内的应用主题(ThemeData)中添加一个AppBarTheme属性:

// This code should be located inside your "MyApp" class, or equivalent (in main.dart by default)
return MaterialApp(
  // App Theme:
  theme: ThemeData(
    // ••• ADD THIS: App Bar Theme: •••
    appBarTheme: AppBarTheme(
      elevation: 0, // This removes the shadow from all App Bars.
    )
  ),
);
pkln4tw6

pkln4tw64#

最近的Flutter版本(3.3/3.7+)似乎引入了一个新参数scrolledUnderElevation

AppBar(
  backgroundColor: Colors.transparent,
  bottomOpacity: 0.0,
  elevation: 0.0,
  // New parameter:
  scrolledUnderElevation: 0,
);

相关问题