iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
SideProject30

拿到一支Garmin錶,要怎麼開發app?系列 第 22

[Day-22] 開發新的錶面-3

  • 分享至 

  • xImage
  •  

由於在原本的範例中,時跟分之間沒有冒號,看得我很不習慣,
所以想把冒號加在中間,所以改成這樣:

    function onUpdate(dc as Dc) as Void {
        dc.setColor(Graphics.COLOR_BLACK,Graphics.COLOR_BLACK);
        dc.clear();
        // Get and show the current time
        var clockTime = System.getClockTime();
        dc.setColor(Graphics.COLOR_WHITE,Graphics.COLOR_BLACK);
        dc.drawText(dc.getWidth()/2, 30, myfonts, 
        Lang.format("$1$:$2$",[clockTime.hour.format("%02d"),clockTime.min.format("%02d")]), 
        Graphics.TEXT_JUSTIFY_CENTER);
    }

結果竟然會擋到字...

https://ithelp.ithome.com.tw/upload/images/20231007/201289730ubEsvqblI.png

查了一陣子,暫時還沒看到有什麼能用程式碼解決的方案,
所以先用最根本的方式解決了
https://ithelp.ithome.com.tw/upload/images/20231010/20128973LZjZQUGam6.png
在BitmapFont調整字體的大小,
然後再重新匯出.fnt然後覆蓋到專案裡面,
https://ithelp.ithome.com.tw/upload/images/20231007/20128973pEWtPwpy6z.png
完成/images/emoticon/emoticon42.gif

再加個秒數好了,
由於自訂的字型沒辦法調整大小,所以我就先用預設的小字來顯示秒數
其實也可以再匯出字更小的字型檔來使用,
不過我覺得所有數字都用同一種字體可能不好太看,所以就先作罷

dc.drawText(dc.getWidth()/2, dc.getHeight()/5*3, Graphics.FONT_SMALL, Lang.format("=$1$=",[clockTime.sec]), Graphics.TEXT_JUSTIFY_CENTER);

$1$是Lang.format(String, Array)的用法,就像java的String.fomat()一樣,
可參閱api文件
https://developer.garmin.com/connect-iq/api-docs/Toybox/Lang.html#format-instance_function

有了秒數,也顯示一下日期好了,

        var currentDate = Gregorian.info(Time.now(), Time.FORMAT_SHORT);
        var dateString = Lang.format("$1$/$2$/$3$", [
        currentDate.year,
        currentDate.month.format("%02d"),
        currentDate.day.format("%02d")
        ]);
        dc.setColor(Graphics.COLOR_WHITE, Graphics.COLOR_BLACK);
        dc.drawText(dc.getWidth() / 2, dc.getHeight()/5*4, Graphics.FONT_SMALL, dateString, Graphics.TEXT_JUSTIFY_CENTER);

上面記得要先import Toybox.Time,否則無法使用Gregorian.info(Time.now(), Time.FORMAT_SHORT);

import Toybox.Time;

https://ithelp.ithome.com.tw/upload/images/20231007/201289738WS24xMXDx.png

我對美術一直不太在行
雖然不太好看,但就先這樣吧,明天再看看還能加點什麼


上一篇
[Day-21] 開發新的錶面-3
下一篇
[Day-23] 開發新的錶面-4
系列文
拿到一支Garmin錶,要怎麼開發app?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言