博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SMS 和 MMS 在输入字母的响应不一致
阅读量:4045 次
发布时间:2019-05-24

本文共 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/

你可能感兴趣的文章
Android自定义apk名称、版本号自增
查看>>
adb command not found
查看>>
Xcode 启动页面禁用和显示
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Candy(python)
查看>>
【leetcode】Clone Graph(python)
查看>>
【leetcode】Sum Root to leaf Numbers
查看>>
【leetcode】Pascal's Triangle II (python)
查看>>
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>