MTK的平台本省已经实现了屏幕的旋转的功能。我们可以在函数mmi_frm_entry_new_screen( )的结尾,添加屏幕旋转。
if(mmi_frm_is_enable_screen_rotated())
{
mmi_frm_screen_rotate(GDI_LCD_LAYER_ROTATE_270);
}
else
{
mmi_frm_screen_rotate(GDI_LCD_LAYER_ROTATE_0);
}
在我们需要刷新的地方,例如开合盖的时候,添加函数
EntryNewScreen(GLOBAL_SCR_DUMMY, NULL, NULL, NULL);
GoBackHistory();
这样就能把该界面重画一遍,实现刷新过程。
当然,还有一些全局的宏,例如
#define MMI_ROTATED_LCD_WIDTH
#define MMI_ROTATED_LCD_HEIGHT
#define MMI_ROTATED_TITLE_WIDTH
......
我们根据具体的项目进行调整,包括一些控件的调整。还有DisplayPopup( )界面的最后一个参数是要调整的角度,默认是
DisplayPopupRotated(string, imageId, imageOnBottom, popupDuration, toneId, MMI_FRM_SCREEN_ROTATE_0);这样基本上一个屏幕旋转的项目就能实现了。