您现在的位置是:亿华云 > 系统运维
Go Gio 实战:煮蛋计时器的实现之带边距的按钮
亿华云2025-10-03 07:05:29【系统运维】4人已围观
简介01 本节目标在按钮两边加上空白,即带边距的按钮,如下图。Button with margin02 关键代码为了突出结构,主要关注下面关键点: 使用 layout.Inset 定义边距
01 本节目标
在按钮两边加上空白,实时器即带边距的战煮按钮,如下图。蛋计的实带边
Button with margin
02 关键代码
为了突出结构,按钮主要关注下面关键点: 使用 layout.Inset 定义边距 布局这些边距在这些边距内创建按钮
代码如下:
layout.Flex{ // ... }.Layout(gtx,实时器 layout.Rigid( func(gtx C) D { // 1、使用 layout.Inset 定义边距 margin := layout.Inset{ // ... } // 2、战煮布局这些边距 margins.Layout( // 3、蛋计的实带边在这些边距内创建按钮 func(gtx C) D { btn := material.Button(th,按钮 &startButton, "Start") return btn.Layout(gtx) }, ) } } ) )03 代码详解
上面就像一个中间有一个按钮的甜甜圈。源码下载这个比喻形象吗?实时器
Button inside inset
边距是使用 layout.Inset{ } 构建的。它是战煮一个结构体,定义了小部件周围的蛋计的实带边空间:
margins := layout.Inset{ Top: unit.Dp(25), Bottom: unit.Dp(25), Right: unit.Dp(35), Left: unit.Dp(35), }在这里,margins 使用设备独立的按钮单位:unit.Dp。如果你希望所有边的云服务器提供商实时器边距都相同,还有一个方便的战煮 UniformInset( ),可以为你节省几次按键操作。蛋计的实带边
04 完整代码
以下是 system.FrameEvent 部分的完整代码:
case system.FrameEvent: gtx := layout.NewContext(&ops, e) // Lets try out the flexbox layout concept layout.Flex{ // Vertical alignment, from top to bottom Axis: layout.Vertical, // Empty space is left at the start, i.e. at the top Spacing: layout.SpaceStart, }.Layout(gtx, layout.Rigid( func(gtx C) D { // 1、使用 layout.Inset 定义边距 margins := layout.Inset{ Top: unit.Dp(25), Bottom: unit.Dp(25), Right: unit.Dp(35), Left: unit.Dp(35), } // 2、布局这些边距 return margins.Layout(gtx, // 3、在这些边距内创建按钮 func(gtx C) D { btn := material.Button(th, &startButton, "Start") return btn.Layout(gtx) }, ) }, ), ) e.Frame(gtx.Ops) 云南idc服务商很赞哦!(8265)
上一篇: 戴尔科技第二财季营收创历史新高