麦步社区-论坛

标题: 日历表盘 [打印本页]

作者: 步往康来    时间: 2018-6-6 14:55
标题: 日历表盘
本帖最后由 步往康来 于 2018-6-26 18:51 编辑

2018.6.26  新日历表盘可以"表盘"区下载
http://bbs.maibu.cc/thread-6331-1-1.html

简易日历表盘:


   


作者: qs100371    时间: 2018-6-6 16:26
下面的日历是动态生成的还是图片?
作者: 无齿的_kzWP4    时间: 2018-6-6 17:13
佩服。。。
作者: 步往康来    时间: 2018-6-6 17:15
本帖最后由 步往康来 于 2018-6-6 19:43 编辑
qs100371 发表于 2018-6-6 16:26
下面的日历是动态生成的还是图片?

动态的要你出手才行,我是搞不来代码。只能是图片  ,按右中键显示下月,15秒自动返回。
作者: sure    时间: 2018-6-7 08:07
日期,当日反向黑更好。
作者: qs100371    时间: 2018-6-7 11:46


ppp.zip (2.79 KB, 下载次数: 1007)

ppp.MAI (5.72 KB, 下载次数: 1178)
不怕的来测试一下。

作者: 步往康来    时间: 2018-6-7 12:13
本帖最后由 步往康来 于 2018-6-7 12:38 编辑
qs100371 发表于 2018-6-7 11:46
不怕的来测试一下。

老大出手就是不一样!
1.日期改到9号,圆圈会跳到16号;改到16号会跳到23号(每逢周六就差一周);
2.圆圈与数字不居中,逢左右两侧时,偏差有点大。


作者: qs100371    时间: 2018-6-7 12:50
数字是固定的,圈是后加的,定位不容易,没时间仔细算。在手表上日历的天数是上下对齐的吗?
作者: 步往康来    时间: 2018-6-7 13:07
本帖最后由 步往康来 于 2018-6-7 13:10 编辑
qs100371 发表于 2018-6-7 12:50
数字是固定的,圈是后加的,定位不容易,没时间仔细算。在手表上日历的天数是上下对齐的吗? ...

字体都是上 下对齐的,就是逢周六,圆圈会差一排。
作者: Haichen    时间: 2018-6-7 14:22
顶贴,慕名而来,学习下源码
作者: Haichen    时间: 2018-6-7 15:16
本帖最后由 Haichen 于 2018-6-7 15:22 编辑

学习了,提几点:
1.判断闰年的算法,不仅整除4,还需同时满足不能整除100,如2100年不是闰年(当然这个bug还有好多年才会出现)。
2.first_day的算法,first_day = dt.wday - (dt.mday - 1) % 7;看起来是没有问题的,只是不明白为什么这样算呢,望大神不吝赐教。
3.标记当天的坐标,y方向增量应该为13吧,x方向不能准确控制,根据我的推算貌似4+17*比较可靠一点。
4.另外,下面5行不够用的情况下,多余天数放在第一行的话,标记当天的算法没有考虑。
5.结构上,考虑可能5行不够用的情况,可以把日期农历那一行与时间合并在同一区域,下面改为6行,标记当天的问题可一并解决。6.标记当天的方式,画圆的表现不太协调,可采用覆盖一个黑底白字图层的方式,更直观一些。图层大小推算为13*17,但x方向这个坐标,准确值可能是一个小数,这就尴尬了。


作者: 步往康来    时间: 2018-6-7 16:25
本帖最后由 步往康来 于 2018-6-7 16:42 编辑
Haichen 发表于 2018-6-7 15:16
学习了,提几点:
1.判断闰年的算法,不仅整除4,还需同时满足不能整除100,如2100年不是闰年(当然这个bug ...

大神厉害!

第3点,可以调试到最佳状态。前四排120改121;X=11+17;Y=69+13;第五排和最后一排X=4改为5就可以了;当然反色显示是最最佳的。
第4点,多余天数是能正常标记的,只是把60改为65.

关键的一条是:逢周六的标记不正确。




作者: qs100371    时间: 2018-6-7 17:21
x值少个-1
作者: 步往康来    时间: 2018-6-7 18:04
本帖最后由 步往康来 于 2018-6-7 21:13 编辑
qs100371 发表于 2018-6-7 17:21
x值少个-1

大神就是牛,搞定,非常感谢!
期望增当天日历图层,然后黑底白字。X和Y 值 替换成圆圈的值 。



作者: Haichen    时间: 2018-6-7 21:54
修复了下 gtd修复.zip (4.86 KB, 下载次数: 405)




作者: 步往康来    时间: 2018-6-8 08:31
本帖最后由 步往康来 于 2018-6-8 16:47 编辑
Haichen 发表于 2018-6-7 21:54
修复了下

日历表盘很完美。

期望能增加下一个月的日历,放在第二屏。帮忙改下代码吧。
由衷感谢!!!




作者: qs100371    时间: 2018-6-8 17:33
把绘制日历部分复制到左键代码里就行,先算下月第一天周几和下月天数。官方商店现在还接收表盘吗?
作者: 步往康来    时间: 2018-6-8 18:00
本帖最后由 步往康来 于 2018-6-8 18:02 编辑
qs100371 发表于 2018-6-8 17:33
把绘制日历部分复制到左键代码里就行,先算下月第一天周几和下月天数。官方商店现在还接收表盘吗? ...

我不懂代码,获取下个月的代码,需要修改的地方,还是请老大直接发个代码上来吧
(加第二屏的代码不用写)
多谢!

作者: qs100371    时间: 2018-6-8 18:02
重复代码可以整理成函数,表盘修改成按日刷新,按分钟只刷新时间。
作者: 步往康来    时间: 2018-6-8 18:15
qs100371 发表于 2018-6-8 18:02
重复代码可以整理成函数,表盘修改成按日刷新,按分钟只刷新时间。

这个C 语言,我是白痴,没学过啊
作者: 3bean    时间: 2018-6-8 22:46
能不能顺手改个彩屏版的?
作者: Haichen    时间: 2018-6-9 07:58
qs100371 发表于 2018-6-8 18:02
重复代码可以整理成函数,表盘修改成按日刷新,按分钟只刷新时间。

qs100371老兄有时间吗,这个工作量有点大,需要重构代码,目测得要两三个小时的时间吧,需不需要我代劳一下
作者: qs100371    时间: 2018-6-9 08:14
Haichen 发表于 2018-6-9 07:58
qs100371老兄有时间吗,这个工作量有点大,需要重构代码,目测得要两三个小时的时间吧,需不需要我代劳一 ...

你是学生吗?感觉你学得挺快的,你来做吧
作者: Haichen    时间: 2018-6-9 08:17
qs100371 发表于 2018-6-9 08:14
你是学生吗?感觉你学得挺快的,你来做吧

还学生好吧,下午或晚上抽个时间弄一下
作者: 步往康来    时间: 2018-6-9 09:55
原以为增加次月日历不会太复杂,可能我想得太简单了,辛苦啦
作者: Haichen    时间: 2018-6-9 14:51
qs100371 发表于 2018-6-9 08:14
你是学生吗?感觉你学得挺快的,你来做吧

烦人的又来了,模拟没有问题,按右侧中键切换下月日历,装到手表上就出问题了。老兄帮排查下原因在哪吧。所有数据类型全部用了int32_t 问题依然在。
gtd.zip (5.17 KB, 下载次数: 523)




作者: Haichen    时间: 2018-6-9 16:04
为什么我写的表盘总是出现这种模拟没问题安装不能用的问题,这次是哪里的点没有get到
作者: 步往康来    时间: 2018-6-9 16:07
本帖最后由 步往康来 于 2018-6-10 10:26 编辑
3bean 发表于 2018-6-8 22:46
能不能顺手改个彩屏版的?



彩屏表盘模拟正常,而安装不正常。  本人没有表,只能放弃,请见谅。


作者: 步往康来    时间: 2018-6-9 19:18
Haichen 发表于 2018-6-9 14:51
烦人的又来了,模拟没有问题,按右侧中键切换下月日历,装到手表上就出问题了。老兄帮排查下原因在哪吧。 ...

源码我模拟测试了下,只有6月份实时月份,次月会正确显示7月的数据。若把当前月设置成7月份时,次月的数据有误。

不知是否有问题,供参考。
作者: 3bean    时间: 2018-6-9 23:51
步往康来 发表于 2018-6-9 16:07
没有彩屏手表,调试很麻烦,我现在初步调试到这里,但标记位置无法确定是否正常。 彼此有空时加个好友 ...

非常感谢,辛苦了,但是彩色版好像不行,提示此表盘和型号不符。
作者: qs100371    时间: 2018-6-10 07:44
彩屏表盘的json文件里多了这一句,不然就装不上
"device_type": "120"
作者: 步往康来    时间: 2018-6-10 08:39
本帖最后由 步往康来 于 2018-6-10 10:24 编辑
qs100371 发表于 2018-6-10 07:44
彩屏表盘的json文件里多了这一句,不然就装不上
"device_type": "120"

多谢指点!

需要彩屏表的朋友到第28楼去试用;若还是不成功 ,就只能放弃了。


作者: 3bean    时间: 2018-6-10 10:05
步往康来 发表于 2018-6-9 16:07
2018年6月10修复上传:
   无彩屏表,无法仔细调试,此表盘当日标记位置无法确定正确。
   此表盘取消了 ...

还是不行
作者: Haichen    时间: 2018-6-10 16:26
qs100371 发表于 2018-6-9 08:14
你是学生吗?感觉你学得挺快的,你来做吧

老兄没空帮看吗,这两天我在外出差,没空仔细研究,刚才又排查了一遍,把后面几个月显示不正常的问题解决了,目前模拟没有问题,现在也能装到手表里了,但手表显示不正常而且会死机重启,代码我是看不出问题了,还是烦请先生出山指点迷津。 making.zip (5.12 KB, 下载次数: 485)



作者: 步往康来    时间: 2018-6-10 19:31
本帖最后由 步往康来 于 2018-6-10 19:36 编辑

如果用原来的代码,做第二屏,是否会简单些呢
重启的原因可能 是死循环的问题,供参考

作者: qs100371    时间: 2018-6-11 15:26
windows_reloading里dtold=dt,其它地方看不出问题,还有,你没发完整的包,模拟的时候还有个致命的错误,不知道什么问题。我现在m1增强版和maia都没了,无法调试。
作者: 步往康来    时间: 2018-6-11 18:10
本帖最后由 步往康来 于 2018-6-11 18:30 编辑
qs100371 发表于 2018-6-11 15:26
windows_reloading里dtold=dt,其它地方看不出问题,还有,你没发完整的包,模拟的时候还有个致命的错误, ...



这个只要关闭“星期条”,模拟正常。但安装到手表就出问题了。




作者: Haichen    时间: 2018-6-12 10:58
qs100371 发表于 2018-6-11 15:26
windows_reloading里dtold=dt,其它地方看不出问题,还有,你没发完整的包,模拟的时候还有个致命的错误, ...

是 time_change 里面dtold=dt吧,那是日期更改后更新dtold用的。
我只发了c文件,appinfo和res资源跟以前一样所以没有重复发。
模拟我这是没有问题的,您方便给个错误信息吗我看看。
作者: Haichen    时间: 2018-6-13 08:11
步往康来 发表于 2018-6-11 18:10
这个只要关闭“星期条”,模拟正常。但安装到手表就出问题了。

官方的sdk不能调试,也不知道哪里的问题,等过几天我回去仔细找找吧
作者: 机器猫    时间: 2018-6-13 08:29
都是高手……
作者: Haichen    时间: 2018-6-13 11:32
搞定了,请放心食用 calendar.zip (5.75 KB, 下载次数: 511)



作者: qs100371    时间: 2018-6-13 11:44
现在还能提交到商店吗?
作者: 步往康来    时间: 2018-6-13 11:44
Haichen 发表于 2018-6-13 11:32
搞定了,请放心食用

我先来一口再说。
作者: 步往康来    时间: 2018-6-13 11:55
本帖最后由 步往康来 于 2018-6-13 17:18 编辑
搞定了,请放心食用   calendar.zip (5.75 KB, 下载次数: 4)

恭喜成功。 可敬可佩!安装测试一切正常。

如果能把 时间字体用图片;本月星期条按日更换图片,就更好了。


结合两位高手的代码,改了下界面:


作者: Haichen    时间: 2018-6-13 14:31
换图片这个就简单多了,就是做图片资源稍微麻烦点,图片资源你喜欢什么样的直接发给我,过两天回去给弄吧。
作者: 步往康来    时间: 2018-6-13 16:25
本帖最后由 步往康来 于 2018-6-14 09:12 编辑
Haichen 发表于 2018-6-13 14:31
换图片这个就简单多了,就是做图片资源稍微麻烦点,图片资源你喜欢什么样的直接发给我,过两天回去给弄吧。 ...

非常感谢!





作者: qs100371    时间: 2018-6-14 07:44
//SUN,MON,TUE,WED,THU,FRI,SAT,NO为json里的图片资源ID
const static int32_t week_pics[8] = {SUN,MON,TUE,WED,THU,FRI,SAT,NO}; //0,1,...6标记周日,周一至周六,7未标记的图片

display_target_layer(p_window, &frame, week_pics[dt.wday]); //按星期几标记
display_target_layer(p_window, &frame, week_pics[7]);//不标记
作者: 步往康来    时间: 2018-6-14 08:44
本帖最后由 步往康来 于 2018-6-15 07:07 编辑
qs100371 发表于 2018-6-14 07:44
//SUN,MON,TUE,WED,THU,FRI,SAT,NO为json里的图片资源ID
const static int32_t week_pics[8] = {SUN,MON,TU ...

听尊一席话,胜读十年书。 领教啦 。非常感谢!
不过,我好奇的是:如果用你的代码,如何修改才能获取到次月的日历呢?


作者: Haichen    时间: 2018-6-17 06:36
什么情况,问题已经解决了吗
作者: 步往康来    时间: 2018-6-17 08:49
Haichen 发表于 2018-6-17 06:36
什么情况,问题已经解决了吗

谢谢!受到qs100371的指点 ,把时间和星期做成了图片 . 同时,自己把农历也改成了从网络获取,表盘大了一倍.


不过,用qs100371的代码,修改成次月日历的代码,没成功.

作者: Haichen    时间: 2018-6-17 14:38
步往康来 发表于 2018-6-17 08:49
谢谢!受到qs100371的指点 ,把时间和星期做成了图片 . 同时,自己把农历也改成了从网络获取,表盘大了一倍.
...

哦,解决了就好
作者: ldy5206688    时间: 2018-6-23 00:15
感谢!厉害啊!
作者: ldy5206688    时间: 2018-6-26 10:15
Haichen 发表于 2018-6-17 14:38
哦,解决了就好

有下载吗
作者: Haichen    时间: 2018-6-26 17:20
ldy5206688 发表于 2018-6-26 10:15
有下载吗

我做好的单月日历版本在15楼,按右中键切换下月日历的版本在41楼,其余版本请联系楼主,可能发在其他帖子了
作者: 步往康来    时间: 2018-6-26 18:48
ldy5206688 发表于 2018-6-26 10:15
有下载吗

做了几款,可到表盘区去下载
作者: smlqf3    时间: 2018-10-7 13:28
我也来顶一下..











集部   http://www.gfgfgf.com.tw/zybj/zymr/   2018年10月07日 旅遊排行
中醫中藥    優美散文 http://www.gfgfgf.com.tw/zybj/qjys/  殺馬特         https://www.2so.tw/  生日快樂祝賀詞




欢迎光临 麦步社区-论坛 (http://203.195.186.190/) Powered by Discuz! X3.2