当前位置: 首页 > 科技观察

GoGio实战:带边距的煮蛋定时器按钮的实现

时间:2023-03-12 10:11:23 科技观察

01本程序旨在在按钮的两边添加空白,即带边距的按钮,如下图所示。Buttonwithmargin02关键代码为了突出结构,重点关注以下关键点:使用layout.InsettodefinemarginsLayoutthesemargins在这些margins内创建按钮的代码如下:layout.Flex{//...}.Layout(gtx,layout.Rigid(func(gtxC)D{//1,使用layout.Inset定义边距margin:=layout.Inset{//...}//2,布局这些边距margins.Layout(//3,在这些边距内创建按钮func(gtxC)D{btn:=material.Button(th,&startButton,"Start")returnbtn.Layout(gtx)},)}}))03上面详述的代码就像中间有一个带按钮的甜甜圈。这个比喻形象吗?插入边距内的按钮是使用layout.Inset{}构造的。这是一个定义小部件周围空间的结构:margins:=layout.Inset{Top:unit.Dp(25),Bottom:unit.Dp(25),Right:unit.Dp(35),Left:unit.Dp(35),}此处,边距使用与设备无关的单位:unit.Dp。如果您希望所有边距都相同,还有一个方便的UniformInset()可以节省您几次击键。04完整代码下面是system.FrameEvent部分的完整代码:casesystem.FrameEvent:gtx:=layout.NewContext(&ops,e)//试试flexboxlayout概念layout.Flex{//Verticalalignment,fromtoptobottomAxis:layout.Vertical,//Emptyspaceisleftatthestart,即atthetopSpacing:layout.SpaceStart,}.Layout(gtx,layout.Rigid(func(gtxC)D{//1,使用layout.Inset定义margins:=layout.Inset{Top:unit.Dp(25),Bottom:unit.Dp(25),Right:unit.Dp(35),Left:unit.Dp(35),}//2,布局这些边距returnmargins.Layout(gtx,//3,在这些边距创建func(gtxC)D{btn:=material.Button(th,&startButton,"Start")内的按钮returnbtn.Layout(gtx)},)},),),)e.Frame(gtx.Ops)

最新推荐
猜你喜欢