Container 控件可以为内容添加内边距、对齐方式和样式修饰。

由于它能轻松定位和装饰现有控件,因此被视为 iced 中的主要构建块之一。你会经常用到它!

与往常一样,可以通过 widget 模块中的 container 辅助函数来构建容器。

use iced::widget::container;

container("这是一个带边框的盒子!")
    .padding(10)
    .style(container::bordered_box)

内边距

你可以利用 Container 的 padding 方法在其边界内添加内边距。

每个方向都可以独立配置。padding 模块提供了许多便捷的辅助函数,让这项操作变得简单。

use iced::padding;
use iced::widget::container;

container("独立设置内边距!")
    .padding(padding::vertical(30).left(20).right(80))
    .style(container::bordered_box)

对齐方式

与 Text 控件类似,Container 会在自身边界范围内对齐其内容。

默认情况下,Container 会继承其内容的尺寸策略。因此,所有对齐方法都需要指定一个新的 Length 来确定最终的边界范围。

你可以将 Container 想象成一个带相框的照片。相框本身是 Container,照片则是内容,内容可以在相框内以不同方式对齐。

use iced::widget::container;
use iced::Fill;

let my_box = container("右下角!")
    .padding(10)
    .style(container::primary);

container(my_box)
    .padding(10)
    .align_bottom(Fill)
    .align_right(Fill)
    .style(container::bordered_box)

更多推荐