本文共 1008 字,大约阅读时间需要 3 分钟。
在SMS中快速的输入不同按键上的字母,字母在屏幕上出现的方式是停止输入过后一起出现。 在MMS中快速的输入不同按键上的字母,字母在屏幕上出现的方式是点击一次就出现一个字母。 短信编辑框走的流程是ems editor,编辑框的消息响应函数是mmi_input_box_msg_call_back_ems(),而彩信走的流程是multiline的 editor,编辑框的消息响应函数是 mmi_input_box_msg_call_back_multiline(),2者在插入字符流程上是有差异的。 其中mmi_input_box_msg_call_back_ems() 会处理 MMI_IMC_MESSAGE_CONFIG_EDITOR_SHOW 这个消息,根据输入法的设定来决定是否刷新整个editor. 编辑短信时的设计是输入字符时 减少刷新editor的次数,所以插入字符前会设置false,插入完后会再设置ture,这样输入字符的刷新会是靠timer来刷新,不是及时刷新。这样地目的是为了避免快速输入字符时显示过慢的情况。 具体可以查看mmi_imc_key_multitap_alphabetic_down_handler(), mmi_imc_key_multitap_alphabetic_down_handler() { ......//多处输入字符的处理上 mmi_imc_key_send_message(MMI_IMC_MESSAGE_CONFIG_EDITOR_SHOW, MMI_FALSE, 0);//先设置false不刷新editor mmi_imc_key_insert_multitap_char_by_index(g_imc_key.global_data_ptr->cand_select); mmi_imc_key_send_message(MMI_IMC_MESSAGE_CONFIG_EDITOR_SHOW, MMI_TRUE, 0);//插入完毕后,才刷新editor ...... } 可以根据实际测试结果及需求来决定是否在插入字符时及时刷新editor.如果需要及时刷新就可以在插入前不设置false,即不执行这句mmi_imc_key_send_message(MMI_IMC_MESSAGE_CONFIG_EDITOR_SHOW, MMI_FALSE, 0)即可。转载地址:http://kvgdi.baihongyu.com/