小编Dar*_*arc的帖子

带有 go_router 的 NavigationRail

我正在开发一个 Web/桌面应用程序,它具有相当标准的 UI 布局,包括NavigationRail左侧的 和占据屏幕其余部分的内容窗格。

在此输入图像描述

我最近添加了这样的内容go_router,这样我就可以在网络浏览器中正确支持 URL,但是这样做时,我在页面之间移动时失去了任何形式的过渡/动画的能力,因为调用会context.go()导致硬切到下一页。

还有一个问题是,go_router路由必须返回要呈现的完整页面,这意味着我需要在每个页面上包含导航栏,而不是每个页面只是与该页面相关的内容。我相信这也是所有动画被破坏的主要原因,因为单击链接会有效地破坏当前的导航栏并为新页面构建新的导航栏

我看不到任何内容go_router,但是否有任何形式的构建器 API 可以输出和刷新页面的单个部分?我正在考虑类似bloc's 的东西BlocBuilder,它侦听状态更改并仅在发生更改时重建其负责的小部件。

或者,有没有办法在不重建整个页面的情况下更新当前 URL?

或者go_router只是无法实现我所追求的目标,如果是这样,是否有其他替代方案可以做到这一点?

我所追求的整体效果类似于材料网站https://m3.material.io/develop 单击各个按钮感觉就像您在应用程序中导航,而不是单击链接并加载新页面

感谢您的帮助

flutter flutter-web flutter-go-router

6
推荐指数
1
解决办法
1889
查看次数

在xcode上崩溃但在Windows上没有崩溃.SIGABRT?

我必须为我的C编程类编写一个程序,将IPV4地址转换为IPV6.我们提供了执行转换的功能(以下代码执行实际转换).我运行此代码时在XCode中遇到问题.我已经使用了断点,并确定它在击中sprintf()线时会崩溃.它崩溃了:Program received signal: “SIGABRT”. sharedlibrary apply-load-rules all.我在基于Windows的编译器上测试了完全相同的代码,运行正常.什么会导致它在一个而不是另一个上失败?我的程序必须在Windows上运行,而不是Mac用于评分过程,如果没有解决这个问题,那么我将在Windows上编写并编写其余的程序,但我更愿意使用Mac,所以任何帮助都是值得赞赏的.

    strncpy(IPV6, "0000:0000:0000:0000:0000:0000:", 30); 
    sscanf(input, "%u.%u.%u.%u", &a, &b, &c, &d); 
    sprintf(hexIP, "%02X%02X:%02X%02X", a, b, c, d );
    strncat(IPV6, hexIP, 9); 
Run Code Online (Sandbox Code Playgroud)

谢谢

编辑

int makeIPV6(const char input[25], char IPV6[40], int style)  
{
        unsigned int a, b, c, d, e, f;
        char hexIP[9];
        char hexMAC[24];
        printf("Stage 2\n");
        strncpy(IPV6, "0000:0000:0000:0000:0000:0000:", 30);
        sscanf(input, "%u.%u.%u.%u", &a, &b, &c, &d);
        sprintf(hexIP, "%02X%02X:%02X%02X", a, b, c, d );
        strncat(IPV6, hexIP, 9);

        return strlen(IPV6)
}
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
1106
查看次数

标签 统计

c ×1

flutter ×1

flutter-go-router ×1

flutter-web ×1