通话记录-修改tab页图标

本文详细介绍了在MTK平台上如何修改通话记录tab页的图标,使其在高亮和非高亮状态显示不同的图标。通过分析tab页的创建流程,找出关键变量g_tab_bar_items_p,并在初始化及动态修改两个阶段进行调整,实现了图标切换的效果。涉及到的函数包括mmi_advmix_fill_call_log_tab、mmi_frm_set_tab_bar_items等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天实现tab页形式的通话记录tab页图标的修改,即高亮的图标与非高亮时的图标不同。而MTK默认形式为高亮,非高亮为同一图标,只不过高亮时图标位置稍稍上移以突显出 高亮。此问题看似不难,而对刚接触tab页形式的MTK新手来说,也不易。于是我一点一点的分析tab图标的来源和去处。终于找到正解:

我发现了一个至关重要的变量g_tab_bar_items_p,它用于保存tab页相关信息,它的定义如下:

并将最终将信息传递给变量MMI_tab_bar_items用于创建最终的tab页。至于其中的来龙去脉,看我慢慢道来:

     在函数mmi_advmix_entry_tab_call_log_list中通过函数mmi_advmix_fill_call_log_tab构建tab页信息,保存于临时变量tab_pages_info_array中。

     通过参数的不断传递,通过函数mmi_frm_set_tab_bar_items将变量tab_pages_info_array信息保存于变量g_tab_bar_items_p中。

     在模板FTN_ShowCategory92Screen中通过函数mmi_frm_get_tab_bar_items从变量g_tab_bar_items_p中获得tab页信息保存于变量MMI_tab_bar_items中。

     函数wgui_create_horizontal_tab_bar运用变量MMI_tab_bar_items中的信息创建tab页。

 

整个过程便是如此,那么我要修改tab的信息必须做两处修改:

(1)     初始化修改,即在函数mmi_advmix_fill_call_log_tab中修改。另外两个函数mmi_slave_chist_fill_call_log_tabmmi_chist_fill_call_log_tab修改类似。

修改如下:

 

(2)     动态修改,在构建tab页完成后,移动左右方向键更换高亮tab页之前修改。即在左右方向键响应函数中,函数mmi_frm_set_cur_sel_page之前做修改。这里封装了两个函数,即左方向键修改tab页函数和右方向键修改tab页函数。它们分别如下:

 

可以看出上面两处修改都修改了变量g_tab_bar_items_p,这样才能在以后的tab页构建过程中起作用。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值