題外話:
前陣子買了手環7,所以就搞起自定義錶盤來(生活源於折騰)。
我現在用的是鄭羊羊的錶盤,然後混搭了梁小蜗的實用工具錶盤。感謝兩位作者。
鄭羊羊 錶盤:
https://www.bandbbs.cn/threads/3980/
梁小蜗 實用主義錶盤
現在就研究這個點擊移動時鐘的功能,從而怎樣換背景圖,都可以自己移動時鐘不擋圖。
之後有空的話,再看看要不要弄個點擊錶盤/定時來更換多張背景圖(朋友的7PRO手環,好似可以點擊錶盤來隨意切換8張圖片)。
==============
正題:
由於相冊錶盤的背景圖可以更改,所以我就想是不是可以弄個功能:
- 添加了兩個點擊選區(插件上移/插件上移),使某些插件的Y點附加offset_Y的參數,從而達到插件可以隨意上移下移,讓使用者可以隨意調整錶盤時鐘的位置。
感覺會有的優點:
可以自行適配不同背景圖,盡量不讓時鐘插件擋圖。
更簡單的更改位置,不用進錶盤包更改插件位置,也不用再刷手環。
目前結果:
添加了兩個點擊選區 (上移: 周上午位置 下移: 鬧鈴位置)
添加了offset_Y參數
添加了updateWin來更新主要插件的y軸屬性
不過在我測試的時候,插件顯示發現了一些奇怪的情況。
問題:
點擊選區後, offset正常增加/減少,updateWin出現部份成功,部份不成功。
1. 周一至周五插件,也正常跟著移動。
2. 同一個時鐘插件里,時﹑分﹑秒都可以跟著上移/下移,但是上下午的位置完全不跟著動。
3. 月日插件: 會延遲偏移,要息屏再開屏才正常移位。而且月份由2位數變成單位數。(08 > 8 )
4. 鬧鈴完全不跟著動,甚至失蹤。
代碼如下:
//各類顯示窗 定位
前陣子買了手環7,所以就搞起自定義錶盤來(生活源於折騰)。
我現在用的是鄭羊羊的錶盤,然後混搭了梁小蜗的實用工具錶盤。感謝兩位作者。
鄭羊羊 錶盤:
https://www.bandbbs.cn/threads/3980/
梁小蜗 實用主義錶盤
小米手环7表盘 - 实用主义表盘|高亮二维码显示|点数器|吃什么|骰子|尺子|层次感背景
小米手环7增强版表盘 视频介绍 功能介绍 1.表盘背景随时间变化 表盘的背景是在同一个地点拍摄的一天24小时不同的照片,随时间变化,只需看一眼表盘即可大概了解现在是在晚上还是在下午。而且部分前景还会覆盖部分控件,形成层次感。 2.高亮显示二维码...
www.bandbbs.cn
現在就研究這個點擊移動時鐘的功能,從而怎樣換背景圖,都可以自己移動時鐘不擋圖。
之後有空的話,再看看要不要弄個點擊錶盤/定時來更換多張背景圖(朋友的7PRO手環,好似可以點擊錶盤來隨意切換8張圖片)。
==============
正題:
由於相冊錶盤的背景圖可以更改,所以我就想是不是可以弄個功能:
- 添加了兩個點擊選區(插件上移/插件上移),使某些插件的Y點附加offset_Y的參數,從而達到插件可以隨意上移下移,讓使用者可以隨意調整錶盤時鐘的位置。
感覺會有的優點:
可以自行適配不同背景圖,盡量不讓時鐘插件擋圖。
更簡單的更改位置,不用進錶盤包更改插件位置,也不用再刷手環。
目前結果:
添加了兩個點擊選區 (上移: 周上午位置 下移: 鬧鈴位置)
添加了offset_Y參數
添加了updateWin來更新主要插件的y軸屬性
不過在我測試的時候,插件顯示發現了一些奇怪的情況。
問題:
點擊選區後, offset正常增加/減少,updateWin出現部份成功,部份不成功。
1. 周一至周五插件,也正常跟著移動。
2. 同一個時鐘插件里,時﹑分﹑秒都可以跟著上移/下移,但是上下午的位置完全不跟著動。
3. 月日插件: 會延遲偏移,要息屏再開屏才正常移位。而且月份由2位數變成單位數。(08 > 8 )
4. 鬧鈴完全不跟著動,甚至失蹤。
代碼如下:
//各類顯示窗 定位
JavaScript:
let lock_X = 39, lock_Y = 20;
let disturb_X = 58, disturb_Y = 20;
let bluetooth_X = 77, bluetooth_Y = 20;
let batlogo_X = 96, batlogo_Y = 20;
let batlevel_X = 115, batlevel_Y = 20;
let week_X = 8, week_Y = 120;
let ampm_X = 56, ampm_Y = 120;
let month_X = 104, month_Y = 120;
let day_X = 148, day_Y = 120;
let hour_X = 8, hour_Y = 150;
let minute_X = 102, minute_Y = 150;
let alarmlogo_X = 10, alarmlogo_Y = 220;
let alarm_X = 26, alarm_Y = 220;
let second_X = 150, second_Y = 220;
let step_X = 25, step_Y = 405;
let heart_X = 55, heart_Y = 445;
var Win_Y = 120, offset_Y = 0; //y: 120
let Now_Y = Win_Y + offset_Y;
-------------------
//參數內容 例子1
let hhmmss = { //時分秒參數
hour_zero: true,
hour_startX: hour_X,
hour_startY: hour_Y + offset_Y, // 時-Y軸
hour_array: n,
hour_space: 0, //7
// hour_align: hmUI.align.CENTER_H,
hour_align: hmUI.align.RIGHT,
minute_zero: true,
minute_startX: minute_X,
minute_startY: minute_Y + offset_Y, //分-Y軸
minute_array: n,
minute_space: 0, //7
minute_align: hmUI.align.LEFT,
am_x: ampm_X, //上下午
am_y: ampm_Y + offset_Y, //上午-Y軸
am_sc_path: "images/ampm/amsc.png",
am_tc_path: "images/ampm/amsc.png",
am_en_path: "images/ampm/am.png",
pm_x: ampm_X, //上下午
pm_y: ampm_Y + offset_Y, //下午-Y軸
pm_sc_path: "images/ampm/pmsc.png",
pm_tc_path: "images/ampm/pmsc.png",
pm_en_path: "images/ampm/pm.png",
show_level: hmUI.show_level.ONLY_NORMAL,
second_zero: true,
second_startX: second_X,
second_startY: second_Y + offset_Y, //秒-Y軸
second_array: s,
second_space: 0,
second_align: hmUI.align.LEFT
};
-------------------
//Widget創建
let hhmmssWidget = meTime.createWidget(hmUI.widget.IMG_TIME, hhmmss); //時分秒
let ddddWidget = meTime.createWidget(hmUI.widget.IMG_WEEK, dddd); //周
let ddWidget = meTime.createWidget(hmUI.widget.IMG_DATE, dd); //月日
let batlogoWidget = meTime.createWidget(hmUI.widget.IMG_LEVEL, batlogo); //電量圖
let batlevelWidget = meTime.createWidget(hmUI.widget.TEXT_IMG, batlevel); //電量
let cWidget = meTime.createWidget(hmUI.widget.IMG_STATUS, c); //鎖屏
let btWidget = meTime.createWidget(hmUI.widget.IMG_STATUS, bt); //藍芽
let IWidget = meTime.createWidget(hmUI.widget.IMG_STATUS, I); //勿擾
let bsWidget = meTime.createWidget(hmUI.widget.TEXT_IMG, bs); //步數
let xlWidget = meTime.createWidget(hmUI.widget.TEXT_IMG, xl); //心率
-------------------
//視窗偏移按鈕
let WinUp_X = 8, WinUp_Y = 95, WinUp_W = 80, WinUp_H = 50;
let WinDown_X = 8, WinDown_Y = 220, WinDown_W = 64, WinDown_H = 50;
let WinUp = meTime.createWidget(hmUI.widget.TEXT, { //入口 視窗上移
x: WinUp_X,
y: WinUp_Y,
w: WinUp_W,
h: WinUp_H,
//text: '視窗上移',
show_level: hmUI.show_level.ONLY_NORMAL
});
let WinDown = meTime.createWidget(hmUI.widget.TEXT, { //入口 視窗下移
x: WinDown_X,
y: WinDown_Y,
w: WinDown_W,
h: WinDown_H,
//text: '視窗下移',
show_level: hmUI.show_level.ONLY_NORMAL
});
// 視窗调节监听
// Now_Y 為主要插件的Y軸頂點,用來防止視窗上移過高或下移過低。預設視窗不高於20,不低於300。之後再調整下。
//每次點擊,offset_Y 增加/減少 10
WinUp.addEventListener(hmUI.event.CLICK_UP, function (info) {
if (Now_Y < 20 ) {
offset_Y = offset_Y - 0;
} else {
offset_Y = offset_Y - 10;
}
updateWin();
});
WinDown.addEventListener(hmUI.event.CLICK_UP, function (info) {
if (Now_Y > 300 ) {
offset_Y = offset_Y - 0;
} else {
offset_Y = offset_Y + 10;
};
updateWin();
});
//更新視窗屬性
function updateWin() {
hhmmssWidget.setProperty(hmUI.prop.MORE, {
am_y: ampm_Y + offset_Y, //上午y
pm_y: ampm_Y + offset_Y, //下午y
hour_startY: hour_Y + offset_Y, //時y
minute_startY: minute_Y + offset_Y, //分y
second_startY: second_Y + offset_Y //秒y
});
ddWidget.setProperty(hmUI.prop.MORE, {
month_startY: month_Y + offset_Y, //月y
day_startY: day_Y + offset_Y //日y
});
ddddWidget.setProperty(hmUI.prop.MORE, { y: week_Y + offset_Y }); //周y
alarmlogoWidget.setProperty(hmUI.prop.MORE, { y: alarmlogo_Y + offset_Y }); //鬧鈴圖y
alarmWidget.setProperty(hmUI.prop.MORE, { y: alarm_Y + offset_Y }); //鬧鈴y
Now_Y = Win_Y + offset_Y;
hmUI.showToast({ text: 'Y軸:' + Now_Y + '\n偏移:' + offset_Y });
}
附件
最后编辑: