關于MTK平臺列表控件使用方法
MTK平臺列表控件使用方法是本文要介紹的內容,主要是來了解并學習如何在MTK平臺下使用列表控件,上網(wǎng)找找資料,看了《MMI實例培訓教程》的書,修改一下代碼,如下:
代碼
- fixed_list_menu My_fixed_list_menu; //列表菜單框架
- fixed_icontext_menuitem My_fixed_icontext_menuitem_common; //菜單項公共屬性
- #define My_fixed_list_n_items (8) //菜單項項數(shù)
- fixed_icontext_menuitem_type My_fixed_list_menuitems[My_fixed_list_n_items]; //icontext 型菜單項列表
- void *My_fixed_menuitem_pointers[My_fixed_list_n_items]; //指向菜單項列表的索引列表
- void Test_List_Ctrl(void){
- S32 i;
- EntryNewScreen(SCR_ID_GOOME_GPS_FOOTPRINT_SET_TARGET,NULL,NULL,NULL); //開始顯示菜單
- memset(&My_fixed_list_menu, 0, sizeof(fixed_list_menu));
- gui_create_fixed_list_menu(&My_fixed_list_menu, 20, MMI_content_y + 5, 136, MMI_content_height - 50);
- MMI_current_menu_type = LIST_MENU;
- memset(&My_fixed_icontext_menuitem_common, 0, sizeof(fixed_icontext_menuitem));
- gui_create_fixed_icontext_menuitem(&My_fixed_icontext_menuitem_common, 136, 18); //寬高
- gui_fixed_icontext_menuitem_set_text_position( &My_fixed_icontext_menuitem_common, 24, 0); //文本偏移距離
- My_fixed_icontext_menuitem_common.flags |= UI_MENUITEM_DISABLE_BACKGROUND; //統(tǒng)一標志符
- memset(&My_fixed_list_menuitems, 0, sizeof(fixed_icontext_menuitem_type) * My_fixed_list_n_items);
- for (i = 0; i < My_fixed_list_n_items; i++) {
- My_fixed_list_menuitems[i].item_text = (UI_string_type)GetString(STR_ID_GOOME_GPS_FOOTPRINT); //菜單項文本
- My_fixed_list_menuitems[i].item_icon = (PU8) GetImage(IMG_GLOBAL_L1 + i); //菜單項圖標
- My_fixed_list_menuitems[i].flags = (UI_MENUITEM_CENTER_TEXT_Y | UI_MENUITEM_CENTER_ICON_Y);
- My_fixed_list_menuitems[i].item_icon_handle = GDI_ERROR_HANDLE;
- My_fixed_menuitem_pointers[i] = (void*)&My_fixed_list_menuitems[i]; //給索引列表賦值
- }
- My_fixed_list_menu.items = My_fixed_menuitem_pointers; // 菜單項索引列表
- My_fixed_list_menu.common_item_data = (void*)&My_fixed_icontext_menuitem_common; // 菜單項公共屬性
- My_fixed_list_menu.n_items = My_fixed_list_n_items; // 菜單項項數(shù)
- gui_set_fixed_list_menu_item_functions(&My_fixed_list_menu, // 菜單項功能接口
- gui_show_fixed_icontext_menuitem, //顯示菜單項函數(shù)
- gui_measure_fixed_icontext_menuitem, //測量菜單項函數(shù)
- gui_highlight_fixed_icontext_menuitem, //高亮函數(shù)
- gui_remove_highlight_fixed_icontext_menuitem, //失去高亮函數(shù)
- gui_hide_fixed_icontext_menuitem, //菜單項隱藏函數(shù)
- NULL
- );
- My_fixed_list_menu.highlighted_item = -1; //菜單高亮項索引,此為菜單框架內部屬性值,在跳轉之前一定要設為-1
- gui_fixed_list_menu_goto_item(&My_fixed_list_menu, 0);
- gui_show_fixed_list_menu(&My_fixed_list_menu); //顯示菜單結束
- ui_BLT_double_buffer(0, 0, UI_device_width - 1, UI_device_height - 1);
- SetKeyHandler(GoBackHistory, KEY_RSK, KEY_EVENT_UP);
- }
加入后開始編譯,當然會出現(xiàn)一些其它的錯誤,慢慢調,后來有一個錯誤是說
- gui_set_fixed_list_menu_item_functions
下wrong number parament 的,再次與書中的例子比較一下,沒有錯,在工程中搜索該函數(shù),發(fā)現(xiàn)是8個參數(shù)的,二話不說,增加resize_fixed_icontext_menuitems在gui_set_fixed_list_menu_item_functions增加剛增加的函數(shù)名,另外將NULL改為gui_get_fixed_icontext_menuitem_flag。
再次編譯,說找不到resize_fixed_icontext_menuitems函數(shù),再次添加頭文件
#include "wgui_fixed_menuitems.h"
編譯,無錯誤,在真機上調試成功。
小結:關于MTK平臺列表控件使用方法的內容介紹完了,希望通過本文的學習能對你有所幫助!