1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Go Gio 實(shí)戰(zhàn):煮蛋計(jì)時(shí)器的實(shí)現(xiàn) 06 — 帶邊距的按鈕

        共 2178字,需瀏覽 5分鐘

         ·

        2021-12-09 13:10

        繼續(xù)本系列第 6 篇。

        01 本節(jié)目標(biāo)

        在按鈕兩邊加上空白,即帶邊距的按鈕,如下圖。

        Button with margin

        02 關(guān)鍵代碼

        為了突出結(jié)構(gòu),主要關(guān)注下面關(guān)鍵點(diǎn):

        1. 使用 layout.Inset 定義邊距
        2. 布局這些邊距
        3. 在這些邊距內(nèi)創(chuàng)建按鈕

        代碼如下:

        layout.Flex{
        ????//?...
        }.Layout(gtx,?
        ????layout.Rigid(
        ????????func(gtx?C)?D?{
        ????????????//?1、使用?layout.Inset?定義邊距
        ????????????margin?:=?layout.Inset{
        ????????????????//?...
        ????????????}

        ????????????//?2、布局這些邊距
        ????????????margins.Layout(
        ????????????????
        ????????????????//?3、在這些邊距內(nèi)創(chuàng)建按鈕
        ????????????????func(gtx?C)?D?{
        ????????????????????btn?:=?material.Button(th,?&startButton,?"Start")
        ????????????????????return?btn.Layout(gtx)
        ????????????????},
        ????????????
        ????????????)

        ????????????}
        ????????}
        ????)????
        )

        03 代碼詳解

        上面就像一個(gè)中間有一個(gè)按鈕的甜甜圈。這個(gè)比喻形象嗎?

        Button inside inset

        邊距是使用 layout.Inset{} 構(gòu)建的。它是一個(gè)結(jié)構(gòu)體,定義了小部件周圍的空間:

        margins?:=?layout.Inset{
        ????Top:????unit.Dp(25),
        ????Bottom:?unit.Dp(25),
        ????Right:??unit.Dp(35),
        ????Left:???unit.Dp(35),
        }

        在這里,margins 使用設(shè)備獨(dú)立的單位:unit.Dp。如果你希望所有邊的邊距都相同,還有一個(gè)方便的 UniformInset( ),可以為你節(jié)省幾次按鍵操作。

        04 完整代碼

        以下是 system.FrameEvent 部分的完整代碼:

        case?system.FrameEvent:
        ????gtx?:=?layout.NewContext(&ops,?e)
        ????//?Let's?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、在這些邊距內(nèi)創(chuàng)建按鈕
        ????????????????????func(gtx?C)?D?{
        ????????????????????????btn?:=?material.Button(th,?&startButton,?"Start")
        ????????????????????????return?btn.Layout(gtx)
        ????????????????????},
        ????????????????)
        ????????????},
        ????????),
        ????)
        ????e.Frame(gtx.Ops)


        推薦閱讀


        福利

        我為大家整理了一份從入門到進(jìn)階的Go學(xué)習(xí)資料禮包,包含學(xué)習(xí)建議:入門看什么,進(jìn)階看什么。關(guān)注公眾號(hào) 「polarisxu」,回復(fù)?ebook?獲?。贿€可以回復(fù)「進(jìn)群」,和數(shù)萬(wàn) Gopher 交流學(xué)習(xí)。

        瀏覽 107
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            天天日天天色 | 久久免费黄色视频 | 日韩一级在线观看视频 | 搞屄网站| 免费AⅤ视频 | 激情婷婷国产 | 男女猛烈进入无遮挡gif视频 | 人善交另类zzzzxxxxx | 亚洲激情视频在线观看 | 抽插综合 |