|
void ShowCategory9999creen()
{
...
EntryNewScreen(MY_SREEN1, show_screen_exit, ShowCategory9999creen, NULL) ;
//锁屏计数器加1
gdi_layer_lock_frame_buffer();
//进入全屏模式
entry_full_screen() ;
clear_screen() ;
//绘制背景图片
gdi_image_draw(0, 0, GetImage(IMG_SCREEN_ROTATE_BACKGROUND)) ;
//创建一个新的用户层.
gdi_layer_create(0, 0, UI_device_width, UI_device_height, &g_myLayer) ;
//激活用户层
gdi_layer_set_active( g_myLayer) ;
//设置层的通透色
gdi_layer_clear(GDI_COLOR_BLUE) ;
//将层设置成通透
gdi_layer_set_source_key(TRUE, GDI_COLOR_BLUE) ;
//设置半透明效果
gdi_layer_set_opacity(TRUE, 100) ;
display_news_menu_item_title(g_news_class[g_item_class_index], v_acNewsClassTitle, NEWS_TITLE_LEN, title_item_index, hilight_show_a_detail_news);
SetLeftSoftkeyFunction(open_new_link_in_explorer, KEY_EVENT_DOWN) ;
SetKeyHandler(open_new_link_in_explorer, KEY_LSK, KEY_EVENT_DOWN) ;
//锁屏计数器 - 1
//得到基础层句柄
gdi_layer_get_base_handle(&baseHandle) ;
//还原基础层为当前激活层.
gdi_layer_set_active(baseHandle) ;
//函数gdi_layer_restore_base_active(void);与上面两句的功能一致.
//gdi_layer_restore_base_active(void);
//锁屏计数器-1
gdi_layer_unlock_frame_buffer();
//设置合并层顺序
gdi_layer_set_blt_layer(baseHandle, g_myLayer, NULL, NULL);
//刷新屏幕
gui_BLT_double_buffer(0, 0, UI_device_width - 1, UI_device_height - 1) ;
}
但是这样做并没有实现菜单透明效果,
小弟跪求各位MTK的大侠们, 请问应该如何实现透明效果呢? 在此先谢谢大家了
注:附件为运行结果抓图. |
|