教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

MTK - 10A帮助文档(总结)(4)

来源:网络收集 时间:2026-08-27
导读: 在块中间末尾位置添加: /**************************************************************************** * FirstApp *****************************************************************************/ #ifdef _

在块中间末尾位置添加:

/**************************************************************************** * FirstApp

*****************************************************************************/

#ifdef __MMI_FIRSTAPP__

#define FIRSTAPP_BASE ((U16) GET_RESOURCE_BASE(APP_FIRSTAPP)) #define FIRSTAPP_BASE_MAX ((U16) GET_RESOURCE_MAX(APP_FIRSTAPP))

RESOURCE_BASE_TABLE_ITEM_PATH(APP_FIRSTAPP, \这里较之前有所变化 #endif

4、字串、图片、屏幕资源的添加

先来说字串、图片、屏幕资源ID的添加。10A版本中对资源定义的改动比较大,稍微对比一下新老版本,你会发现很多原来很大的文件变小了,而多出来了很多.res后缀的文件,这就是新版本的资源定义文件。10A版本仍部分保持了老版本的定义方式,不过笔者建议采用新版本的方式来定义资源,而且与之前相比新版本的资源定义要方便不少。读者可以随便找一个res文件,会看到如下定义格式:

/* Needed header files of the compile option in XML files, if you need others need to add here */

#include \#include \

/* Need this line to tell parser that XML start, must after all #include. */

/* APP tag, include your app name defined in MMIDataType.h */

/* When you use any ID of other module, you need to add that header file here, so that Resgen can find the ID */

/* String ID of you Application, we will get string from ref_list.txt for all

11

languages */

/* 这里说下,字串的内容定义和之前的版本一样放在YourProjectPath\\plutommi\\Customer\\CustResource\\PLUTO_MMI\\ref_list.txt下,为了更好的兼容,最好将你自己定义的字串重新规整到YourProjectPath\\plutommi\\MMI\\FirstApp\\FirstAppRes\\ref_list_FirstApp.txt下,具体定义方式和ref_list.txt类似,参考本博客文章《MTK编程起步——建立新APP和资源定义》 */

/* Image Id and path of you Application , you can use compile option in Path, but need out of \

id=\pp\\\\\\\\HELLO.BMP\

/* 这里定义自己的图片ID和路径,注意图片现在的CUST_IMG_PATH路径是在YourProjectPath\\plutommi\\Customer\\Images\\FTE320x480,请将图片文件夹放在这里,然后打包整个MainLCD文件夹为image.zip(改了mtk_resgenerator.cpp的可以不用打包) */

/* Only MENUITEM need compile option, MENUITEM_ID does not need */ /* 这里定义你的菜单ID,具体定义方法稍后给出 */

这个res文件类似与xml文件,不过你可以在其中使用一些C的预处理命令和注释。使用这种方式你不需要自己去定义res_app_firstapp.c,系统会在这个文件中搜索ID并自动生成名为mmi_rp_app_firstapp_def.h和mmi_rp_app_firstapp.c的文件,并在后者中定义对应的populate函数。至于res文件中各标签和其属性定义,请参看MTK官方文档10A_MMI_Resource_Training.pdf。

12

5、菜单添加

菜单由于有上下级关系,定义要相对复杂些,这里先介绍几个标签:MENU、MENUITEM和MENUITEM_ID。MENU是用来定义菜单树的标签,MENUITEM是用来定义单个菜单项的标签,MENUITEM_ID是用来在MENU树中安置菜单项的标签。下面来讨论菜单的定义。

新版本中菜单的定义方式有很多种,现介绍最常用的三种方式,其它方式请读者参看上面给出的MTK官方文档。

方法一:MENU中包含MENUITEM_ID方式定义

这种方式采用如下格式:

SUBMENU1 SUBMENU2

采用这种方式要在MENU体外申明对应MENUITEM的定义,可以放在引用MENU之前也可在其后,但MENU中MENUITEM_ID包含的内容必须是已定义的MENUITEM的ID,如果不存在系统将会将该菜单忽略。另外提一点,为了和先前的版本兼容,MTK提供了@OID:前缀,用来引用原先在c文件中定义的菜单ID,使用方法是将其放在标签对之间即可,例如:@OID:SUBMENU3。不过引用前请使用下。

方法二:直接将MENUITEM定义在MENU中,格式如下:

这种方式不需要在MENU体外定义对应MENUITEM,只需要放在MENU标签内同时定义MENUITEM信息即可。

13

方法三:嵌套MENU,格式如下:

采用这种方式使得菜单的定义一次完成,也易于理解,但是当属性较多层次较深的时候可能显得较乱。这种方式是直观的MENU树表现方式,显示了子菜单与父级菜单的对应关系。有些读者可能对MENU和MENUITEM有些迷茫,笔者认为,在大部分时候MENU和MENUITEM可以通用,你可以把他们看成一种东西(MENU)。你可以将方法三第二行替换成方法一或方法二的形式。不过如果有SUBMENU1有子菜单的时候,方法三可以直接嵌套在对应MENU体之中,而方法一或方法二则需在MENU方法体外做如下定义:

以上三种方法可以根据需要混合使用。最后为了完整实现菜单功能,别忘了添加对应菜单的highlight和hint函数。说到highlight和hint函数,这里有必要提一下,不是所有菜单都可以直接在res文件中添加highlight和hint选项来实现的,如果你发现你的highlight和hint不起作用,请使用模拟器跟踪一下同类高亮函数,会发现其高亮处理在类似mmi_ret mmi_phnset_gpio_menu_handler(cui_menu_event_struct *menu_evt, MMI_ID parent_gid)和static void mmi_phnset_gpio_select_menu(mmi_menu_id id, MMI_ID parent_id)的函数中使switch (menu_evt->highlighted_menu_id){case SUBMENU1:}或switc …… 此处隐藏:1720字,全部文档内容请下载后查看。喜欢就下载吧 ……

MTK - 10A帮助文档(总结)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/519008.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)