mt2503 page main menu not show title & status bar
时间:10-02
整理:3721RD
点击:
[UI]page main menu not show title& status bar
[DESCRIPTION]
Mainmenu默认开的是matrix,就是9宫格或12宫格;
当开pagemainmenu时,一页只显示一个icon;
如果需要增大icon显示区域,就不显示状态栏和标题栏,可以参考下面修改实现。
[SOLUTION]
下面的代码在11BW1308MP上验证通过。其他版本可以参考修改
修改4处,请注意红色的代码是添加修改的;
1.修改pagemainmenucategorycontrol_setandcoordinate_set.
#if0
constU8category14_list[]=
{
5,
DM_BASE_LAYER_START,
DM_SCR_BG,
DM_BASE_CONTROL_SET_COMMON,
DM_LIST1,
DM_BUTTON_BAR1
};
constS16coordinate_set14_List_Page[]=
{
DM_FULL_SCREEN_COORDINATE_FLAG,
DM_CONTENT_COORDINATE_FLAG,
DM_DEFAULT_BUTTON_BAR,
DM_NO_FLAGS,
MMI_SOFTKEY_WIDTH
};
#else
constU8category14_list[]=
{
4,
DM_BASE_LAYER_START,
DM_SCR_BG,
DM_LIST1,
DM_BUTTON_BAR1
};
constS16coordinate_set14_List_Page[]=
{
DM_FULL_SCREEN_COORDINATE_FLAG,
0,0,MAIN_LCD_DEVICE_WIDTH,MAIN_LCD_DEVICE_HEIGHT-MMI_BUTTON_BAR_HEIGHT,DM_NO_FLAGS,
DM_DEFAULT_BUTTON_BAR,
DM_NO_FLAGS,
MMI_SOFTKEY_WIDTH
};
#endif
2.在ShowCategory14Screen最后添加flag:
#ifdef__MMI_UI_MATRIX_MAIN_MENU_SCALING_EFFECT__
if(MMI_current_menu_type==MATRIX_MENU)
{
dm_data.s32flags|=DM_SCR_BG_NO_CACHE;
}
#endif/*__MMI_UI_MATRIX_MAIN_MENU_SCALING_EFFECT__*/
#ifdef__MMI_MAINMENU_PAGE_SUPPORT__
dm_data.s32flags|=DM_NO_TITLE|DM_NO_STATUS_BAR;
#endif
dm_setup_data(&dm_data);
dm_redraw_category_screen();
}
3.在ShowCategory14Screen的 casePAGE_MENU:中,修改两处:
1)wgui_fixed_list_move_icontext_menu(MMI_title_y+MMI_title_height));
修改为:wgui_fixed_list_move_icontext_menu(0,0);
2)set_fixed_icontext_positions(0,0,0,(MMI_content_height-iysize)>>1);
修改为:set_fixed_icontext_positions(0,0,0,0);
4.当切换page时,会重新画整个screen,把main_menu_custom_highlight_handler中的draw_title();去掉。
[DESCRIPTION]
Mainmenu默认开的是matrix,就是9宫格或12宫格;
当开pagemainmenu时,一页只显示一个icon;
如果需要增大icon显示区域,就不显示状态栏和标题栏,可以参考下面修改实现。
[SOLUTION]
下面的代码在11BW1308MP上验证通过。其他版本可以参考修改
修改4处,请注意红色的代码是添加修改的;
1.修改pagemainmenucategorycontrol_setandcoordinate_set.
#if0
constU8category14_list[]=
{
5,
DM_BASE_LAYER_START,
DM_SCR_BG,
DM_BASE_CONTROL_SET_COMMON,
DM_LIST1,
DM_BUTTON_BAR1
};
constS16coordinate_set14_List_Page[]=
{
DM_FULL_SCREEN_COORDINATE_FLAG,
DM_CONTENT_COORDINATE_FLAG,
DM_DEFAULT_BUTTON_BAR,
DM_NO_FLAGS,
MMI_SOFTKEY_WIDTH
};
#else
constU8category14_list[]=
{
4,
DM_BASE_LAYER_START,
DM_SCR_BG,
DM_LIST1,
DM_BUTTON_BAR1
};
constS16coordinate_set14_List_Page[]=
{
DM_FULL_SCREEN_COORDINATE_FLAG,
0,0,MAIN_LCD_DEVICE_WIDTH,MAIN_LCD_DEVICE_HEIGHT-MMI_BUTTON_BAR_HEIGHT,DM_NO_FLAGS,
DM_DEFAULT_BUTTON_BAR,
DM_NO_FLAGS,
MMI_SOFTKEY_WIDTH
};
#endif
2.在ShowCategory14Screen最后添加flag:
#ifdef__MMI_UI_MATRIX_MAIN_MENU_SCALING_EFFECT__
if(MMI_current_menu_type==MATRIX_MENU)
{
dm_data.s32flags|=DM_SCR_BG_NO_CACHE;
}
#endif/*__MMI_UI_MATRIX_MAIN_MENU_SCALING_EFFECT__*/
#ifdef__MMI_MAINMENU_PAGE_SUPPORT__
dm_data.s32flags|=DM_NO_TITLE|DM_NO_STATUS_BAR;
#endif
dm_setup_data(&dm_data);
dm_redraw_category_screen();
}
3.在ShowCategory14Screen的 casePAGE_MENU:中,修改两处:
1)wgui_fixed_list_move_icontext_menu(MMI_title_y+MMI_title_height));
修改为:wgui_fixed_list_move_icontext_menu(0,0);
2)set_fixed_icontext_positions(0,0,0,(MMI_content_height-iysize)>>1);
修改为:set_fixed_icontext_positions(0,0,0,0);
4.当切换page时,会重新画整个screen,把main_menu_custom_highlight_handler中的draw_title();去掉。