在前面的几个步骤中,我们为应用构建了图片网格和幻灯片。但到目前为止,还不能在两者之间切换。接下来的几个步骤里,我们将实现图片网格和幻灯片之间的切换功能。
我们的计划如下:
菜单栏中的按钮将用于切换到幻灯片视图。当幻灯片可见时,按下 Esc 键将切换回图片网格。
这一步,我们先从创建菜单栏开始。
注意:如果你不想自己敲代码,可以在这里找到本步骤的全部代码:https://github.com/makepad/image_viewer/tree/main/step_13
让我们先为菜单栏(MenuBar)添加一个定义。菜单栏是一个宽而矮的条状区域,占满容器的宽度,包含我们用来切换到幻灯片的按钮。
在 app.rs 中,找到 live design 块,在 ImageGrid 定义之前,添加以下代码:
菜单栏包含一个按钮,按钮前面有一个填充组件(Filler),用来确保按钮被布局到右侧。
既然我们已经有了菜单栏(MenuBar),接下来更新 App 的定义,让它显示菜单栏而不是幻灯片(幻灯片我们后面会再放回去)。
在 app.rs 中,找到 live design 块,替换 App 的定义为以下内容:
让我们检查一下到目前为止的进展。
确保你当前在你的包目录下,然后运行:
如果一切正常,你应该会看到一个按钮:
当然,你实际上看到的是菜单栏,但因为菜单栏本身是透明的,所以你只看到了按钮。
这一步我们创建了菜单栏(MenuBar)。下一步,我们将创建图片浏览器(ImageBrowser)。