返回官网官方微博

麦步社区-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: MAI 表盘
查看: 7355|回复: 11
打印 上一主题 下一主题

我搞的显示GPS表盘源码 欢迎拍砖

[复制链接]

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
跳转到指定楼层
楼主
发表于 2016-7-18 21:49:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "maibu_sdk.h"
#include "maibu_res.h"

static int32_t g_window_id = -1;
static int8_t g_layer_id_1 = -1;
static int8_t g_layer_id_2 = -1;

void GPS_phone_recv_callback(enum ERequestPhone type, void *context)
{
        P_Window p_window = app_window_stack_get_window_by_id(g_window_id);
        char url1[50];
char url2[50];
SGpsAltitude g_gps_altitude;
        memcpy(&g_gps_altitude, (SGpsAltitude *)context, sizeof(SGpsAltitude));
         sprintf(url1, "纬度%s", g_gps_altitude.lat);               
     sprintf(url2, "经度%s", g_gps_altitude.lon);
         P_Layer p_layer_1 = app_window_get_layer_by_id(p_window, g_layer_id_1);
         P_Layer p_layer_2 = app_window_get_layer_by_id(p_window, g_layer_id_2);
         app_layer_set_text_text(p_layer_1, url1);
         app_layer_set_text_text(p_layer_2, url2);
         app_window_update(p_window);
}


void GPS_timer_callback(date_time_t tick_time, uint32_t millis, void *context)
{    P_Window p_window = app_window_stack_get_window_by_id(g_window_id);
         P_Layer p_layer_1 = app_window_get_layer_by_id(p_window, g_layer_id_1);
         P_Layer p_layer_2 = app_window_get_layer_by_id(p_window, g_layer_id_2);
         app_layer_set_text_text(p_layer_1, "AA");
         app_layer_set_text_text(p_layer_2, "BB");
         app_window_update(p_window);
maibu_comm_request_phone(ERequestPhoneGPSAltitude,  NULL,0);       
}

int main()
{
//simulator_init();
        P_Window pPP_window = app_window_create();
        if (NULL == pPP_window)
        {
                return 0;
        }
        maibu_comm_register_phone_callback(GPS_phone_recv_callback);
        GRect frame1 = {{0, 45}, {40, 128}};
        LayerText text1 = {"AA", frame1, GAlignCenter, U_GBK_SIMSUNBD_16};       
        GRect frame2 = {{0, 80}, {40, 128}};
        LayerText text2 = {"BB", frame2, GAlignCenter, U_GBK_SIMSUNBD_16};
         P_Layer layer1 = app_layer_create_text(&text1);
        g_layer_id_1=app_window_add_layer(pPP_window, layer1);       
        P_Layer layer2 = app_layer_create_text(&text2);
        g_layer_id_2=app_window_add_layer(pPP_window, layer2);
        g_window_id=app_window_stack_push(pPP_window);       
        app_window_timer_subscribe(pPP_window, 5000, GPS_timer_callback, (void *)pPP_window);
//simulator_wait();
        return 1;

}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信 WeiboWeibo
收藏收藏 分享分享 顶1 踩

214

主题

2514

帖子

3万

麦力

麦步团队

精华
1
阅读权限
200
在线时间
812 小时

麦步手表用户麦步工业测评协会

沙发
发表于 2016-7-19 09:48:35 | 只看该作者
回复

使用道具 举报

21

主题

115

帖子

1121

麦力

精华
1
阅读权限
100
在线时间
76 小时
板凳
发表于 2016-7-19 13:17:34 | 只看该作者
其实还是挺简单,就是觉得应用场景难找

11

主题

150

帖子

1059

麦力

精华
0
阅读权限
50
在线时间
42 小时

地板
发表于 2016-8-9 06:17:33 | 只看该作者
这个layer1和layer2有重叠的没关系吧?

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
5#
 楼主| 发表于 2016-8-9 13:51:32 | 只看该作者
没有重叠啊。重叠了有没有关系我觉得您试验一下:)

11

主题

150

帖子

1059

麦力

精华
0
阅读权限
50
在线时间
42 小时

6#
发表于 2016-8-9 16:26:45 | 只看该作者
本帖最后由 dualxu 于 2016-8-9 16:34 编辑
1076964977 发表于 2016-8-9 13:51
没有重叠啊。重叠了有没有关系我觉得您试验一下:)

GRect frame1 = {{0, 45}, {40, 128}};
GRect frame2 = {{0, 80}, {40, 128}};  不是有{{0, 80}, {5, 128}}; 这个部分被重叠了麽?
还是我X,Y坐标看错了

40

主题

1665

帖子

1万

麦力

精华
2
阅读权限
100
在线时间
1236 小时

麦步手表用户麦步工业测评协会

7#
发表于 2016-8-9 22:03:24 来自手机 | 只看该作者
如何生成表盘文件呢
来自: 微社区

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
8#
 楼主| 发表于 2016-8-10 09:56:51 | 只看该作者
步往康来 发表于 2016-8-9 22:03
如何生成表盘文件呢

随便找个例程 把C文件里的东西删了换成我的这一堆代码 编译就出来了

34

主题

294

帖子

2491

麦力

精华
0
阅读权限
100
在线时间
97 小时
9#
 楼主| 发表于 2016-8-10 10:01:52 | 只看该作者
dualxu 发表于 2016-8-9 16:26
GRect frame1 = {{0, 45}, {40, 128}};
GRect frame2 = {{0, 80}, {40, 128}};  不是有{{0, 80}, {5, 128} ...

struct GRect
接口名        struct GRect

功能说明        矩形结构体
参数说明        GPoint origin  矩形左上角坐标
GSize size 矩形的高度和宽度

你看一看GRect的结构,第一个定义的是左上角坐标,所以0,45和0,80是不重合的

11

主题

150

帖子

1059

麦力

精华
0
阅读权限
50
在线时间
42 小时

10#
发表于 2016-8-10 10:58:41 | 只看该作者
嗯,实话说我还真是实际在模拟器上测试过

测试代码如下,确实看到重叠的,你试试:

GRect frame1 = {{0, 45}, {40, 128}};
        LayerText text1 = {"AA", frame1, GAlignBottomLeft, U_GBK_SIMSUNBD_16};        
        GRect frame2 = {{0, 80}, {40, 128}};
        LayerText text2 = {"BB", frame2, GAlignTopLeft, U_GBK_SIMSUNBD_16};
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|麦步官方论坛 ( 粤ICP备12052190号  

GMT+8, 2024-11-24 09:18 , Processed in 0.076528 second(s), 24 queries .

Powered by Discuz! X3.2

© 2012-2021 Comsenz Inc.

快速回复 返回顶部 返回列表