我想把一个文本和图标在状态栏中,来自API。它可以改变的基础上,例如位置。有什么解决办法吗?这听起来很疯狂,但它真的可行吗?我是新来的,谢谢
nlejzf6q1#
我们有statusBar和appBar,我想你的意思是appBar,因为statusBar是由操作系统设计的,你不能添加一些小部件到它.如果你想自定义一个appBar,你可以创建一个,使你的应用程序你想要的.这里是自定义应用程序栏,我在我的代码中使用:
class CustomAppBar extends StatelessWidget { final String? title; final bool? hasBackButton; final Color? color; final Widget? actionWidget; final double? height; const CustomAppBar( {Key? key, this.title, this.hasBackButton = true, this.color = primaryDark, this.actionWidget, this.height}) : super(key: key); @override Widget build(BuildContext context) { var width = MediaQuery.of(context).size.width; return Consumer<SettingProvider>( builder: (context, settingProvider, child) { return Stack( alignment: AlignmentDirectional.centerStart, children: [ SizedBox( width: width, height: height ?? width * 0.1333, child: Center( child: Padding( padding: EdgeInsets.symmetric(horizontal: width * 0.1333), child: TextView( text: title ?? '', color: color ?? primaryDark, size: 16, textAlign: TextAlign.center, overflow: TextOverflow.ellipsis, ), ), ), ), if (hasBackButton!) InkWell( onTap: () => locator<NavigationService>().goBack(), splashColor: transparent, highlightColor: transparent, child: Padding( padding: EdgeInsets.all(width * 0.02), child: RotatedBox( quarterTurns: settingProvider.isRTL ? 2 : 0, child: ArrowBackIcon( color: color!, ), ), ), ), if(actionWidget != null) Align( alignment: Alignment.centerLeft, child: actionWidget!) ], ); }); } }
注:我有TextView(一个小部件,我将其模块化为文本)和ArrowBackIcon(一个小部件,我将其模块化为图标),如果你的意思是你想再次改变状态,我的想法是:你可以像video这样隐藏你的状态栏,你也可以创建你自己的状态栏,但是要注意的是,它在大多数手机中都不会很好。)
TextView
ArrowBackIcon
idv4meu82#
如果状态栏是指应用程序栏,则可以在应用程序栏中添加文本和图标,如下所示
appBar: AppBar( title: const Text("Geolocator"), leading: Icon(Icons.search), ),
2条答案
按热度按时间nlejzf6q1#
我们有statusBar和appBar,我想你的意思是appBar,因为statusBar是由操作系统设计的,你不能添加一些小部件到它.如果你想自定义一个appBar,你可以创建一个,使你的应用程序你想要的.这里是自定义应用程序栏,我在我的代码中使用:
注:我有
TextView
(一个小部件,我将其模块化为文本)和ArrowBackIcon
(一个小部件,我将其模块化为图标),如果你的意思是你想再次改变状态,我的想法是:你可以像video这样隐藏你的状态栏,你也可以创建你自己的状态栏,但是要注意的是,它在大多数手机中都不会很好。)
idv4meu82#
如果状态栏是指应用程序栏,则可以在应用程序栏中添加文本和图标,如下所示