0
点赞
收藏
分享

微信扫一扫

MTK:sofekey的显示

沐之轻语 2022-07-29 阅读 30


需求:有些双模项目,左软件与send2键共用。在idle界面时要求按send2键(即LSK)直接拨号,此时真正左软件的功能只有通过center键来实现。但是LSK的标签仍然显示在屏幕的左下方,引起误解。因此,在拨号界面可以把LSK的标签往中间位置移动。 

1.有些screen id,需要同时SHOW LSK and RSK,于是在dm_redraw_category_screen()中获取screen模板ID时,对于LSK/RSK就是DM_BUTTON_BAR1,直接使用一个函数:dm_setup_and_draw_button_bar()就可以SHOW出来了。 

2.有些screen id,只需要LSK或者只需要RSK,因此在dm_setup_and_draw_button_bar()中获取模板ID时,可能只有DM_LSK或者DM_RSK,因此只需要调用dm_setup_and_draw_left_softkey()SHOW出左软件,或者dm_setup_and_draw_right_softkey()SHOW出右软件。 

3.以全部显示LSK,RSK函数dm_setup_and_draw_button_bar()为例:

 在开机后,MMI_softkeys[]中值就是设置好的。在SHOW具体的SCREEN时,共4个步骤:

(1)    从模板的属性集中获取尺寸;

(2)    利用获取的尺寸调用move_softkey()修改MMI_softkeys[]中的X,Y;

(3)    resize_softkey()调整MMI_softkeys[]尺寸;

(4)    show_softkey() 

因此,如果需要移动RSK的标签位置,利用Screen ID作为判断条件,重新move_softkey( ),参数设为自己需要的标签。比如移动到中间位置:

if (YOU_SCREEN_ID == GetActiveScreenId())

    move_softkey((UI_DEVICE_WIDTH-MMI_SOFTKEY_WIDTH)/2, 200, MMI_LEFT_SOFTKEY);


举报

相关推荐

0 条评论