【问题标题】:Fully transparent CupertinoNavigationBar possible?完全透明的 CupertinoNavigationBar 可能吗?
【发布时间】:2019-03-19 12:10:05
【问题描述】:

我正在使用CupertinoTabScaffold 和几个CupertinoTabViews 和CupertinoPageScaffolds。

这是我的设置:

CupertinoPageScaffold(
   navigationBar: CupertinoNavigationBar(
     backgroundColor: Colors.transparent,
   ),
   child: ...
)

问题是我想要一个在导航栏后面延伸的大标题图像。根据 Flutter 文档,一旦 backgroundColor 具有一定透明度,背景就会变得模糊。

所以我找不到让这个导航栏完全透明的方法。

有什么想法吗?

谢谢!

【问题讨论】:

  • 找到解决方案了吗?
  • 您可以使用堆栈或使 AppBar 看起来像 Cupertino 应用栏

标签: flutter


【解决方案1】:

您是否尝试将 backgroundColor 设置为 null ?

https://api.flutter.dev/flutter/cupertino/CupertinoPicker/backgroundColor.html

你也可以试试下面的

https://developer.apple.com/documentation/uikit/uicolor/3255068-quaternarysystemfill

CupertinoPageScaffold(
   navigationBar: CupertinoNavigationBar(
     backgroundColor: CupertinoColors.quaternarySystemFill,
   ),
   child: ...
)

更新: 这不起作用,在我的应用程序中进行了测试,结果为阴性

【讨论】:

    【解决方案2】:
    class _DetailWebViewControllerState extends State<DetailWebViewController> {
      @override
      Widget build(BuildContext context) {
        return CupertinoPageScaffold(
            navigationBar: CupertinoNavigationBar(backgroundColor: Color(0x00000000),),
            child: WebView(
              initialUrl: widget.url,
              javascriptMode: JavascriptMode.unrestricted,
            ));
      }
    }
    

    这为我提供了一个透明的 NavigationBar,但导航栏底部仍有一条细线,使其无法使用。我还没有找到摆脱它的方法。

    【讨论】:

    • 这也不起作用,它只会产生一个模糊(但实际上是透明的)导航栏,所以不完全是 OP 正在寻找的。 FWIW,条形底部的细线是边框。您可以通过在 CupertinoNavigationBar 上设置 border 属性来隐藏它。 border: Border.all(color: Colors.transparent) 应该适合你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-03
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多