SMS 和 MMS 在输入字母的响应不一致

129 篇文章 0 订阅
在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)即可。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值