移动通信终端动态显示输入窗口的方法
技术领域
本发明涉及移动通信终端,其特别涉及移动通信终端的输入显示方法,具体的讲是一种移动通信终端动态显示输入窗口的方法。
背景技术
随着移动通信的发展,短信息是最受欢迎的一项业务。目前手机短信息的输入提示窗都是固定的,在专用区域、固定位置设置中文输入框,或直接弹出另一个专门的中文输入窗口。如中国专利02128304.4,发明名称为:“一屏幕显示全部偏旁和高频单字的方块字输入方案”中提到的关于掌上电脑屏幕键盘的设置,上部为联想选择,中部为高频单字,尾部为向后翻动的感应开关,也可设定一排自定义词组,下部为并列的四个手写输入区。还有中国专利03126666.5,发明名称为“基于键盘和显示界面的汉字输入法”的技术方案中揭示了a.按部首或汉字的书写顺序输入基本笔划编码,程序从总码表中分别检索与基本笔划编码对应的部首和汉字于部首提示窗和汉字显示窗中;b.从部首提示窗中选取部首,程序进入与所选部首相对应的子码表中,部首提示窗和汉字显示窗开始显示与该部首相关的部首和汉字,继续输入剩余部分的基本笔划编码,程序从子码表中分别检索与剩余部分的基本笔划编码对应的部首和汉字于部首提示窗和汉字显示窗;c.从汉字显示窗中选择汉字即可输入汉字;以上的技术方案说明该发明分别有两个独立的对象显示窗,部首提示窗,汉字显示窗,还必须有一个文字输入区。上面两种输入提示窗都不止一个,并且位置都是固定的,当使用者进行输入的时候,要先找到光标的位置才能确定输入的位置,而现在手机的屏幕都很小,并且亮度和色度都不是很理想,想要找到一个微光闪烁的光标是很不方便的,并且如果使用者在错误的光标提示位置进行输入就很容易造成重复输入,这种固定的输入提示窗不仅占用手机屏幕显示区域资源,并且不方便用户直观地进行汉字输入,需要在手机屏幕的不同区域对照输入汉字或在新的窗口中进行汉字输入。
发明内容
本发明的目的在于,提供一种移动通信终端动态显示输入窗口的方法,方便用户直观地进行汉字输入,节省了手机屏幕有限的显示空间。
本发明的技术方案为:
一种移动通信终端动态显示输入窗口的方法,当用户在进行文字输入时,以移动通信终端屏幕上边界和左边界的结合处为屏幕纵坐标的原点;判断是否在输入中文,如果输入的不是中文则直接在光标提示符下输入英文字母或单词;如果是中文则计算输入窗口纵坐标位置,判断输入窗口所在位置纵坐标是否大于屏幕特定位置纵坐标,如果大于该特定位置纵坐标则把输入提示窗口显示在该光标的上方,如果小于该特定位置纵坐标则把输入提示窗口显示在该光标的下方。
所述的计算输入窗口纵坐标位置PLayout_Y是指通过移动通信终端底层系统取得光标底部在窗口中的纵向相对位置坐标PCursor_Bottom_Y,窗口的纵向绝对位置坐标PWindow_Y;所以输入窗口的纵坐标为:
PLayout_Y=PCursor_Bottom_Y+PWindow_Y+n,
其中所述的n为光标底部与输入窗口顶部之间的空隙距离。
所述的屏幕特定位置纵坐标是指输入窗口左上角的纵坐标大于该特定位置纵坐标才能够完整显示输入窗口的位置坐标。
所述的屏幕特定位置纵坐标为140。
所述的输入提示窗口显示在光标的上方是指将经过计算得到的输入窗口纵坐标PLayout_Y减去输入窗口高度LLayout_Hight与光标高度LCursor_Hight,再减去光标与输入窗口之间的空隙距离,经过调整的输入窗口纵坐标PLayout_Y表示为:
PLayout_Y=PLayout_Y-LCursor_Hight-LLayout_Hight-n,
其中,n为光标与输入窗口之间的空隙距离,并以该调整过的输入窗口纵坐标为输入窗口左上角的纵坐标把输入窗口显示在屏幕上。
所述输入提示窗口显示在光标的下方是指取得光标底部在窗口中的纵向相对位置坐标PCursor_Bottom_Y,窗口的纵向绝对位置坐标PWindow_Y;所述的输入窗口纵坐标为:
PLayout_Y=PCursor_BottomY+PWindowY+n,
其中所述的n为光标底部与输入窗口顶部之间的空隙距离,并以该纵坐标为纵坐标得输入窗口显示在屏幕上。
所述的光标底部与输入窗口顶部之间的空隙距离n为2。
所述的拼音文字是指以字母组成的文字。
完成文字的输入后按完成按建取消输入窗口。
所述的移动通信终端包括手机,PDA。
本发明的有益效果在于减少中文输入导致的占用手机屏幕面积,并且可以简化实现手机中文化过程中对原系统修改的工作,可以使用户更方便地实现中文输入。
附图说明
图1a为本发明手机输入界面;
图1b为本发明动态文字输入窗口的示意图;
图1c为本发明动态文字输入窗口的另一示意图;
图1d为本发明动态文字输入窗口显示于光标上方的示意图;
图1e为本发明取消动态文字输入窗口的示意图;
图2为本发明输入的流程图;
图3为本发明计算输入窗口位置的流程图。
具体实施方式
下面结合附图说明本发明的具体实施方式。
如图1a所示为手机输入界面。
如图1b所示,为本发明输入提示光标的底部在窗口中的相对坐标位置为45的示意图,以移动通信终端屏幕上边界和左边界的结合处为屏幕纵坐标的原点;得到手机屏幕光标在窗口中的纵向相对位置PCursor_Bottom_Y,在本例中为45,通过手机底层系统得到屏幕窗口的绝对坐标PWindow_Y,在本例中为PWindow_Y=0,计算输入窗口纵向位置PLayout_Y,PLayout_Y=PCursor_Bottom_Y+PWindow_Y+2=45+0+2=47,如果输入提示光标位置过低,输入窗在光标下方无法完整显示时,就需要判断是否需要在光标上方显示输入窗,由于输入窗的尺寸是固定的,所以在本例中以140这一固定值作为判断是否需要在光标上方显示输入窗的标准,经过比较发现PLayout_Y没有超过140,则在47的位置显示输入窗口,并且把候选文字或拼音排列显示在输入窗口内。
图1c为本发明输入提示光标的底部在窗口中的相对坐标位置为91的示意图,首先得到手机屏幕光标在窗口中的纵向相对位置PCursor_Bottom_Y,在本例中为91,通过手机底层系统得到屏幕窗口的绝对坐标PWindow_Y,在本例中为PWindow_Y=0,计算输入窗口纵向位置PLayout_Y,PLayout_Y=PCursor_Bottom_Y+PWindow_Y+2=91+0+2=93,判断是否需要在光标上方显示输入窗,在本例中输入提示光标上方显示输入窗的标准为140,经过比较发现PLayout_Y没有超过140,则在手机屏幕显示纵坐标为93的位置显示输入窗口,并且把候选文字或拼音排列显示在输入窗口内。
如图1d所示,为本发明输入窗口显示在文字上方的示意图。首先得到手机屏幕光标在窗口中的纵向相对位置PCursor_Bottom_Y,在本例中为160,通过手机底层系统得到屏幕窗口的绝对坐标PWindow_Y,在本例中为PWindow_Y=0,计算输入窗口纵向位置PLayout_Y,PLayout_Y=PCursor_Bottom_Y+PWindow_Y+2=160+0+2=162,判断该输入窗口纵向位置是否大于140,经过比较发现PLayout_Y超过140,则PLayout_Y的计算公式为:PLayout_Y=PLayout-LCursor_Hight-LLayout_Hight-2,其中,LLayout_Hight为输入窗高度,在本例中LLayout_Hight=57,LCursor_Hight为光标高度,在本例中LCursor_Hight=24,计算结果PLayout_Y=79,在手机屏幕显示纵坐标为79的位置显示输入窗口,并且把候选文字或拼音排列显示在输入窗口内,当完成全部文字的输入后,按完成按键或代表完成输入的按键组合使输入窗口消失如图1e所示。
如图2所示,为本发明输入时的流程图,当用户在手机上进行文字输入时,判断是否在输入中文,如果是在输入中文则返回当前光标位置并计算输入窗应该出现的位置,否则直接在光标题是位置输入英文字母或单词,在计算输入窗口位置完成后,在相应的手机屏幕上显示输入窗口,判断用户是否继续输入中文,如果继续输入中文则重新计算光标位置,并在相应位置显示新的输入窗口,在完成中文的输入后,按完成按键或代表完成输入的按键组合使输入窗口消失。
如图3所示,为本发明计算输入窗口位置的流程图。底层系统提供当前光标的底部在窗口中的相对坐标位置:PCursor_Bottom_Y,此坐标位置可以根据光标位置的变化自动更新;所在窗口的绝对坐标位置为PWindow_Y。则输入窗纵向坐标位置PLayout_Y的计算公式为:
PLayout_Y=PCursor_Bottom_Y+PWindow_Y+2
其中,PCursor_Bottom_Y的位置计算根据输入控件的位置及当前输入情况计算得到,而PWindow_Y是在创建窗口时所定义的窗口位置。
程序还需要考虑光标位置过低,输入窗在光标下方无法完整显示时的计算。由于输入窗的尺寸是固定的,所以以140这一固定值作为判断是否需要在光标上方显示输入窗的标准,当然这个标准也是可以视手机屏幕的大小而变化的,如果上面计算得到的PLayout_Y>140,则PLayout_Y的计算公式为:
PLayout_Y=PLayout_Y-LCursor_Hight-LLayout_Hight-2,
其中,LLayout_Hight为输入窗高度,LCursor_Hight为光标高度。
如果PLayout_Y<140则直接返回PLayout_Y。
对于应用非中文系统的手机实现中文输入是件非常不便的事情,而采用本发明方法是在输入框控件中实现,不需要修改应用程序的相关代码,也不需要应用程序根据中文输入窗的大小和位置等信息做用户接口的任何调整。修改的代码是处于脱离底层和应用程序层的中间层,因此可以简少实现中文输入时对应用程序的影响,并且减少中文输入导致的占用手机屏幕面积,使用户更方便地实现中文输入。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。