- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]MTK培训课件5678
深圳清华大学研究院 武汉爱维特信息技术培训中心嵌入式应用程序强化研修班 MTK开发实务 (3) 前讲回顾 在模拟器上编写Hello World程序。 一步步完善Hello World程序,直至能完美呈现。 在此期间,介绍一些和UI相关的知识点。 屏幕 程序 资源 字串资源 菜单资源 图像资源 本讲内容 详细讲解每种资源的是如何加入到系统中的。 字串资源 菜单资源 图片资源 讲解MTK绘图部分的原理和具体实现 文本 图形 图像 背景 层 添加资源——字串资源(1) 添加字串到资源,并添加多国语言版本 添加字串ID,在MyAppDefs.h中添加 typedef enum { STR_MYAPP_HELLO = MYAPP_BASE + 1, } STRINGID_LIST_MYAPP; 添加资源——字串资源(2) 在plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt 中添加一行(注:最好不要在Excel 中编辑此文件,因为Excel 默认会为每个字串加上双引号) 下面是对表格每一列的描述: 第一列是字串ID,与MyAppDefs.h 中定义的要完全一致。 第二列是字串所属的程序名(可任意写,仅供自己参考)。 第三列指本字串的最大长度(取所有语言中文本最长的一个)。 第四列是字串描述,也可任意写。 从第五列起就是各种语言对应的字符串 添加资源——字串资源(3) 字串装载,在函数PopulateMyAppRes 中添加一行: void PopulateMyAppRes(void) { ADD_APPLICATION_STRING2(STR_MYAPP_HELLO,Hello,World,MyApp); } 宏ADD_APPLICATION_STRING2 用来装载字串,第一个参数用来放字串的ID,第二个参数是字串的默认显示,当ref_list.txt 里面找不到相应内容时就拿这个字串来充数,第三个参数是字串的描述,可忽略。 添加资源——字串资源(4) 字串读取,使用函数GetString 可将字串资源读取出来: void mmi_myapp_entry(void) { … … gui_print_text((UI_string_type)GetString(STR_MYAPP_HELLO)); … … } 建议将所有输出字串强制以资源方式存储,以方便多国语言版本管理。 添加资源——菜单资源(1) 新添加菜单项,新菜单项放在[MainMenu]-[Organizer]-[Hello, World]。 所有菜单的ID 都放在头文件plutommi\MMI\Inc\GlobalMenuItems.h 中: enum GLOBALMENUITEMSID { IDLE_SCREEN_MENU_ID = 1, … … … … MENU_ID_MYAPP_HELLO, MENU_ID_DEVAPP_START, MENU_ID_DEVAPP_END = MENU_ID_DEVAPP_START + 100, MAX_MENU_ITEMS_VALUE, MENU_ITEM_END }; 新菜单ID 一定要放在MAX_MENU_ITEMS_VALUE 之前,否则会出问题。 添加资源——菜单资源(2) 首先,我们需要将MENU_ID_MYAPP_HELLO 加入到Organizer的下级列表中,按如下方式修改Res_MainMenu.c(mainmenu 及main menu 下一级子菜单都在此文件中加载) … … typedef enum { … #ifdef __MMI_MESSAGES_CLUB__ ORG_ENUM_SERVICE, #endif #ifdef __MMI_MYAPP__ MENU_ENUM_MYAPP_HELLO, #endif/* __MMI_MYAPP__ */ ORG_ENUM_TOTAL } OrganizerMenu; 添加资源——菜单资源(3) … … #if defined(__MMI_VERSION_2__) void PopulateMainMenuRes(void) { … … /* oganizer */ ADD_APPLICATION_MENUITEM((MAIN_MENU_ORGANIZER_MENUID,IDLE_SCREEN_MENU_ID,ORG_ENUM_TOTAL, #if defined(__MMI_CALENDAR__) ORGANIZER_CALENDER_MENU, #endif ... #ifdef __MMI_MYAPP__ MENU_ID_MYAPP_HELLO, #en
您可能关注的文档
最近下载
- 你的态度决定你的高度主题班会.pptx VIP
- 2025-2026学年大象版(2024)小学科学一年级上册(全册)教学设计(附目录P110).docx
- T_CHATA 009—2020_肺结核患者居家治疗管理指南.pdf VIP
- 信号与系统第2版奥本海姆课后习题答案详解.pdf
- SQE供应商质量管理与工具运用.ppt VIP
- National Theatre Live: Prima Facie《初步举证(2022)》完整中英文对照剧本.docx VIP
- 机器人控制软件:Fanuc Robotics二次开发_(5).Fanuc机器人运动控制编程.docx VIP
- 2016-2023年内蒙古农业大学植物生理学考研真题.pdf VIP
- 有色金属冶炼工程建设项目设计文件编制标准.docx VIP
- 危险货物装卸软管定期检验规则.docx
文档评论(0)