只读文本的选中复制方法及系统的制作方法

文档序号:6425053阅读:308来源:国知局
专利名称:只读文本的选中复制方法及系统的制作方法
只读文本的选中复制方法及系统
技术领域
本发明涉及文本处理领域,特别是涉及一种只读文本的选中复制方法及系统。背景技术
传统的移动终端操作系统如Android(基于Linux内核的操作系统)系统本身提供了显示文本的两个控件TextView(文本显示)和EditText (文本标记),前者是只读文本的显示状态,后者是可编辑文本的输入编辑状态。对于文本选中,只有可编辑文本在输入编辑状态下,其内容才能实现被选中后复制、分享的操作。而对于只读文本的内容是只读的,在显示状态下不能进行任何操作,因此十分不方便。

发明内容
基于此,有必要提供一种能提高便利性的只读文本的选中复制方法。一种只读文本的选中复制方法,包括以下步骤响应点击事件,获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置;响应移动事件,获取移动事件结束时的字符的位置;根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域;选中复制所述文本选中区域。在优选的实施例中,所述获取发生点击事件的字符的位置的步骤为获取发生点击事件的字符的坐标;对所述字符的坐标进行偏移修正;根据修正后的所述字符的坐标计算所述发生点击事件的字符的位置。在优选的实施例中,在所述获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置的步骤之后还包括在所述发生点击事件的字符的位置显示起始光标;在所述与发生点击事件的字符相邻的下一个字符的位置显示结束光标。在优选的实施例中,所述根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域的步骤包括根据所述移动事件结束时的字符的位置判断所述移动事件移动的是起始光标还是结束光标;当所述移动事件移动的是起始光标时,则将所述起始光标移动至所述移动事件结束时的字符的位置,获取所述移动后的起始光标与所述结束光标之间的文本区域为所述文本选中区域;当所述移动事件移动的是结束光标时,则将所述结束光标移动至所述移动事件结束时的字符的位置,获取所述起始光标与所述移动后的结束光标之间的文本区域为所述文本选中区域。在优选的实施例中,所述选中复制所述文本选中区域的步骤为响应抬起事件,清除所述起始光标和结束光标;显示操作选项浮出窗,接收对所述文本选中区域的复制分享操作;根据所述复制分享操作将所述文本选中区域中的文本进行复制分享。此外,还有必要提供一种能提高便利性的只读文本的选中复制系统。一种只读文本的选中复制系统,包括第一记录模块,用于响应点击事件,获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置;第二记录模块,用于响应移动事件,获取移动事件结束时的字符的位置;文本区域获取模块,用于根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域;操作响应模块,用于选中复制所述文本选中区域。在优选的实施例中,所述第一记录模块包括坐标获取模块,用于获取发生点击事件的字符的坐标;修正模块,用于对所述字符的坐标进行偏移修正;计算模块,用于根据修正后的所述字符的坐标,计算所述发生点击事件的字符的位置。在优选的实施例中,还包括显示模块,用于在所述发生点击事件的字符的位置显示起始光标,以及在所述与发生点击事件的字符相邻的下一个字符的位置显示结束光标。在优选的实施例中,所述区域获取模块包括判断模块,用于根据所述移动事件结束时的字符的位置判断所述移动事件移动的是起始光标还是结束光标;移动模块,用于当所述移动事件移动的是起始光标时,将所述起始光标移动至所述移动事件结束时的字符的 位置;文本选中区域获取模块,用于在所述移动模块将所述起始光标移动至所述移动事件结束时的字符的位置后,获取所述移动后的起始光标与所述结束光标之间的文本区域为所述文本选中区域;所述移动模块还用于当所述移动事件移动的是结束光标时,则将所述结束光标移动至所述移动事件结束时的字符的位置;所述文本选中区域获取模块还用于在所述移动模块讲所述结束光标移动至所述移动事件结束时的字符的位置后,获取所述起始光标与所述移动后的结束光标之间的文本区域为所述文本选中区域。在优选的实施例中,所述操作响应模块包括清除模块,用于响应抬起事件,清除所述起始光标和结束光标;接收模块,用于显示操作选项浮出窗,接收对所述文本选中区域的复制分享操作;处理模块,用于根据所述复制分享操作将所述文本选中区域中的文本进行复制分享。上述只读文本的选中复制方法和系统,在响应点击事件,使只读文本进入选中状态,获取发生点击事件的字符的位置及与该字符相邻的下一个字符的位置,在响应移动事件后,获取移动事件结束的字符的位置,根据记录的这几个位置来获取文本选中区域,从而实现对文本选中区域进行选中、复制和分享等功能,使得用户在使用只读文本时能够实现对只读文本的选中、复制、分享操作,提高了用户使用只读文本时的便利性。

图I为一个实施例中只读文本的选中复制方法的流程图;图2为图I中获取发生点击事件的字符的位置的方法流程图;图3为图2中对字符的坐标进行偏移修正的示意图;图4为图I中获取文本选中区域的方法流程图;图5为一个实施例中只读文本进入选中状态的示意图;图6为一个实施例中只读文本选中文本选中区域的示意图;图7为图I中选中复制文本选中区域的方法流程图;图8为图7中对文本选中区域进行复制分享的示意图;图9为一个实施例中只读文本的选中复制系统的结构示意图10为图9中第一记录模块的结构示意图;图11为图9中区域获取模块的结构示意图;图12为图9中操作响应模块的结构示意图。
具体实施方式在一个实施例中,如图I所示,一种只读文本的选中复制方法,包括以下步骤步骤S102,响应点击事件,获取发生点击事件的字符的位置、与该字符相邻的下一个字符的位置。只读文本初始化时默认为非选中状态。当用户对只读文本进行点击,例如通过触摸屏或通过鼠标对只读文本进行双击操作。响应点击事件,修改只读文本的属性值,将其标识为选中状态,则只读文本进入选中状态,并获取发生点击事件的字符的位置。 在一个优选的实施例中,如图2所示,步骤S102中获取发生点击事件的字符的位置的具体过程为步骤S112,获取发生点击事件的字符的坐标。例如,在Android系统中,响应对只读文本的双击事件,通过显示控件来获取到发生双击事件的字符的坐标,该字符的坐标为以显示控件的右上角点为原点的坐标系中的坐标。步骤S122,对该字符的坐标进行偏移修正。该实施例中,根据显示控件的内边距和滚动距离对获取到的字符的坐标进行偏移修正,从而将以显示控件的右上角点为原点的坐标系中的坐标转换以文本区域的右上角点为原点的坐标系中的坐标。如图3所示,显示控件的大小为图3中的大方框,而文本区域为图3中的小方框,对于发生点击事件的字符的坐标(xO,y0),进行偏移修正后为(xO-paddingleft,yO-paddingtop),其中,paddingleft为文本左侧内边距,paddingtop为文本顶部内边距。由于只读文本的内容区域可以很大,在用一个相对较小的区域来进行内容展示(例如通过手机来显示只读文本),则会产生滚动条。对具有滚动条的文本区域,对字符的坐标进行偏移修正后为(xO-paddingleft+scrollx, yO-paddingtop+scrolly),其中,srcoll x 为滚动条在X方向上滚动的幅度,scrolly为滚动条在y方向上滚动的幅度。进行偏移修正后的字符的坐标为以文本区域的右上角点为原点的坐标系中的坐标,因此字符的坐标被定位到了当前显示的内容上,更能准确的获取到字符的位置。步骤S132,根据修正后的字符的坐标计算发生点击事件的字符的位置。在步骤S132中,根据修正后的字符的坐标,即可得到发生点击事件的字符是只读文本中的第几个字符。例如,计算得到发生点击事件的字符为第m个字符,那么同时获取第m+1个字符。应当说明的是,在需要获取只读文本中的每一个字符的位置时,在获取到该字符的坐标后,都需要对字符的坐标进行偏移修正,以准确的获取到文本区域中字符的坐标。在一个实施方式中,在步骤S102之后还包括在发生点击事件的字符的位置显示起始光标,在与发生点击事件的字符相邻的下一个字符的位置显示结束光标。在这两个位直显不的起始光标和结束光标为初始化的起始光标和结束光标。
步骤S104,响应移动事件,获取移动事件结束时的字符的位置。在步骤S104中,用户点击(通常为双击)只读文本后,再通过触摸屏或鼠标操作,例如再次触屏并进行移动。响应移动事件,获取移动事件结束时的字符的位置。步骤S106,根据发生点击事件的字符的位置、与发生点击事件的字符相邻的下一个字符的位置和移动事件结束时的字符的位置,获取文本选中区域。在一个实施例中,如图4所示,步骤S106的具体过程为
步骤S116,根据移动事件结束时的字符的位置判断移动事件移动的是起始光标还是结束光标,若是起始光标,则进入步骤S126,若是结束光标,则进入步骤S136。当发生移动事件时,获取移动事件所在的字符的位置,即当前移动到哪个字符上。根据当前移动事件所在的字符的位置来判断移动事件移动的是起始光标还是结束光标,具体过程为当前移动事件所在的字符的位置小于当前起始光标所在的位置时,如移动事件当前所在的字符的坐标位于当前起始光标所在的位置的左上角时,则移动的是起始光标;当前移动事件所在的字符的位置大于当前结束光标所在的位置时,则移动的是结束光标;若这两种情况都不满足,说明文本选中区域在缩小,则进一步判断当前移动事件所在的字符的位置距离起始光标近还是距离结束光标近。若当前移动事件所在的字符的位置距离起始光标更近,则移动事件移动的是起始光标;若当前移动事件所在的字符的位置距离结束光标更近,则移动事件移动的是结束光标。步骤S126,将起始光标移动至移动事件结束时的字符的位置,获取移动后的起始光标与结束光标之间的文本区域为文本选中区域。步骤S136,将结束光标移动至移动事件结束时的字符的位置,获取起始光标与移动后的结束光标之间的文本区域为文本选中区域。在步骤S126和步骤S136中,可以对获取到的文本选中区域进行背景颜色处理,例如,在文本选中区域显示阴影等。在一个具体的实施例中,如图5所示,对只读文本显示的内容进行双击操作,只读文本进入选中状态,获取到发生双击事件的字符的位置和与该字符相邻的下一个字符的位置(如图5中的“只读”这两个字符),在这两个字符的位置显示起始光标和结束光标,如图5中的起始光标A和结束光标A0该实施例中,响应移动事件,判断移动的是起始光标还是结束光标,如图6所示,当移动的是起始光标时,将起始光标移动到移动事件当前所在的字符的位置,获取移动后的起始光标和结束光标之间的文本区域为文本选中区域(如图6中的阴影文字部分即文本选中区域)。步骤S108,选中复制所述文本选中区域。在一个实施例中,如图7所示,步骤S108的具体过程为步骤SI 18,响应抬起事件,清除起始光标和结束光标。移动事件结束后发生抬起事件,说明用户已选好文本选中区域,则响应抬起事件,清除当前显示的起始光标和结束光标。步骤S128,显示操作选项浮出窗,接收对文本选中区域的复制分享操作。在一个实施方式中,如图8所示,将起始光标和结束光标清除后显示操作选项浮出窗,在操作选项浮出窗中显示操作按钮,用户点击相应的操作选项,实现对文本选中区域中的文本进行操作,例如复制、分享等。步骤S138,根据复制分享操作将文本选中区域中的文本进行复制分享。如图8所示,用户点击复制操作选项,则将文本选中区域中的文本粘贴到剪切板。用户点击分享操作选项,可以将文本选中区域中的文本分享到其他应用中,例如,分享到微博等。在一个实施例中,如图9所示,一种只读文本的选中复制系统,包括第一记录模块102、第二记录模块104、区域获取模块106和操作响应模块108,其中第一记录模块102用于响应点击事件,获取发生点击事件的字符的位置、与该字符相邻的下一个字符的位置。 只读文本初始化时默认为非选中状态。当用户对只读文本进行点击,例如通过触摸屏或通过鼠标对只读文本进行双击操作。第一记录模块102响应点击事件,修改只读文本的属性值,将其标识为选中状态,则只读文本进入选中状态,并获取发生点击事件的字符的位置。在一个优选的实施例中,如图10所示,第一记录模块102包括坐标获取模块112、修正模块122和计算模块132,其中坐标获取模块112用于获取发生点击事件的字符的坐标。例如,在Android系统中,响应对只读文本的双击事件,通过显示控件来获取到发生双击事件的字符的坐标,该字符的坐标为以显示控件的右上角点为原点的坐标系中的坐标。修正模块122用于对该字符的坐标进行偏移修正。该实施例中,根据显示控件的内边距和滚动距离对获取到的字符的坐标进行偏移修正,从而将以显示控件的右上角点为原点的坐标系中的坐标转换以文本区域的右上角点为原点的坐标系中的坐标。如图3所示,显示控件的大小为图3中的大方框,而文本区域为图3中的小方框,对于发生点击事件的字符的坐标(xO,y0),进行偏移修正后为(xO-paddingleft,yO-paddingtop),其中,paddingleft为文本左侧内边距,paddingtop为文本顶部内边距。由于只读文本的内容区域可以很大,在用一个相对较小的区域来进行内容展示(例如通过手机来显示只读文本),则会产生滚动条。对具有滚动条的文本区域,对字符的坐标进行偏移修正后为(xO-paddingleft+scrollx, yO-paddingtop+scrolly),其中,srcoll x 为滚动条在X方向上的幅度,scrolly为滚动条在y方向上的幅度。进行偏移修正后的字符的坐标为以文本区域的右上角点为原点的坐标系中的坐标,因此字符的坐标被定位到了当前显示的内容上,更能准确的获取到字符的位置。计算模块132用于根据修正后的字符的坐标计算发生点击事件的字符的位置。该实施例中,计算模块132根据修正后的字符的坐标,即可得到发生点击事件的字符是只读文本中的第几个字符。例如,计算得到发生点击事件的字符为第m个字符,那么同时获取第m+1个字符。应当说明的是,在需要获取只读文本中的每一个字符的位置时,在获取到该字符的坐标后,都需要对字符的坐标进行偏移修正,以准确的获取到文本区域中字符的坐标。第二记录模块104用于响应移动事件,获取移动事件结束时的字符的位置。用户点击(通常为双击)只读文本后,再通过触摸屏或鼠标操作,例如再次触屏并进行移动。第二记录模块104则响应移动事件,获取移动事件结束时的字符的位置。区域获取模块106用于根据发生点击事件的字符的位置、与发生点击事件的字符相邻的下一个字符的位置和移动事件结束时的字符的位置,获取文本选中区域。在一个实施例中,只读文本的选中复制系统还包括显示模块(图中未示出),显示模块用于在发生点击事件的字符的位置显示起始光标,在与发生点击事件的字符相邻的下一个字符的位置显示结束光标。在这两个位置显示的起始光标和结束光标为初始化的起始光标和结束光标。在一个实施例中,如图11所示,区域获取模块106包括判断模块116、移动模块126和文本选中区域获取模块136,其中判断模块116用于根据移动事件结束时的字符的位置判断移动事件移动的是起始光标还是结束光标。
当发生移动事件时,获取移动事件所在的字符的位置,即当前移动到哪个字符上。根据当前移动事件所在的字符的位置来判断移动事件移动的是起始光标还是结束光标,具体过程为当前移动事件所在的字符的位置小于当前起始光标所在的位置时,如移动事件当前所在的字符的坐标位于当前起始光标所在的位置的左上角时,则移动的是起始光标;当前移动事件所在的字符的位置大于当前结束光标所在的位置时,则移动的是结束光标;若这两种情况都不满足,说明文本选中区域在缩小,则进一步判断当前移动事件所在的字符的位置距离起始光标近还是距离结束光标近。若当前移动事件所在的字符的位置距离起始光标更近,则移动事件移动的是起始光标;若当前移动事件所在的字符的位置距离结束光标更近,则移动事件移动的是结束光标。移动模块126用于当移动事件移动的是起始光标时,将起始光标移动至移动事件结束时的字符的位置;文本选中区域获取模块136则用于获取移动后的起始光标与结束光标之间的文本区域为文本选中区域。该实施例中,移动模块126还用于当移动事件移动的是结束光标时,将结束光标移动至移动事件结束时的字符的位置;文本选中区域获取模块136还用于获取起始光标与移动后的结束光标之间的文本区域为文本选中区域。该实施例中,还可对获取到的文本选中区域进行背景颜色处理,例如,在文本选中区域显示阴影等。操作响应模块108用于选中复制所述文本选中区域。在一个实施例中,如图12所示,操作响应模块108包括清除模块118、接收模块128和处理模块138,其中清除模块118用于响应抬起事件,清除起始光标和结束光标;接收模块128用于显示操作选项浮出窗,接收对文本选中区域的复制分享操作;处理模块138用于根据复制分享操作将文本选中区域中的文本进行复制分享。上述只读文本的选中复制方法及系统,在响应点击事件,使只读文本进入选中状态,获取发生点击事件的字符的位置及与该字符相邻的下一个字符的位置,在响应移动事件后,获取移动事件结束的字符的位置,根据记录的这几个位置来获取文本选中区域,从而实现对文本选中区域进行选中、复制和分享等功能,使得用户在使用只读文本时能够实现对只读文本的选中、复制、分享操作,提高了用户使用只读文本时的便利性。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种只读文本的选中复制方法,包括以下步骤 响应点击事件,获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置; 响应移动事件,获取移动事件结束时的字符的位置; 根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域; 选中复制所述文本选中区域。
2.根据权利要求I所述的只读文本的选中复制方法,其特征在于,所述获取发生点击事件的字符的位置的步骤为 获取发生点击事件的字符的坐标; 对所述字符的坐标进行偏移修正; 根据修正后的所述字符的坐标计算所述发生点击事件的字符的位置。
3.根据权利要求I所述的只读文本的选中复制方法,其特征在于,在所述获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置的步骤之后还包括 在所述发生点击事件的字符的位置显示起始光标; 在所述与发生点击事件的字符相邻的下一个字符的位置显示结束光标。
4.根据权利要求3所述的只读文本的选中复制方法,其特征在于,所述根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域的步骤包括 根据所述移动事件结束时的字符的位置判断所述移动事件移动的是起始光标还是结束光标; 当所述移动事件移动的是起始光标时,则将所述起始光标移动至所述移动事件结束时的字符的位置,获取所述移动后的起始光标与所述结束光标之间的文本区域为所述文本选中区域; 当所述移动事件移动的是结束光标时,则将所述结束光标移动至所述移动事件结束时的字符的位置,获取所述起始光标与所述移动后的结束光标之间的文本区域为所述文本选中区域。
5.根据权利要求4所述的只读文本的选中复制方法,其特征在于,所述选中复制所述文本选中区域的步骤为 响应抬起事件,清除所述起始光标和结束光标; 显示操作选项浮出窗,接收对所述文本选中区域的复制分享操作; 根据所述复制分享操作将所述文本选中区域中的文本进行复制分享。
6.一种只读文本的选中复制系统,其特征在于,包括 第一记录模块,用于响应点击事件,获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置; 第二记录模块,用于响应移动事件,获取移动事件结束时的字符的位置; 文本区域获取模块,用于根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域;操作响应模块,用于选中复制所述文本选中区域。
7.根据权利要求6所述的只读文本的选中复制系统,其特征在于,所述第一记录模块包括 坐标获取模块,用于获取发生点击事件的字符的坐标; 修正模块,用于对所述字符的坐标进行偏移修正; 计算模块,用于根据修正后的所述字符的坐标,计算所述发生点击事件的字符的位置。
8.根据权利要求6所述的只读文本的选中复制系统,其特征在于,还包括 显示模块,用于在所述发生点击事件的字符的位置显示起始光标,以及在所述与发生点击事件的字符相邻的下一个字符的位置显示结束光标。
9.根据权利要求8所述的只读文本的选中复制系统,其特征在于,所述区域获取模块包括 判断模块,用于根据所述移动事件结束时的字符的位置判断所述移动事件移动的是起始光标还是结束光标; 移动模块,用于当所述移动事件移动的是起始光标时,将所述起始光标移动至所述移动事件结束时的字符的位置; 文本选中区域获取模块,用于在所述移动模块将所述起始光标移动至所述移动事件结束时的字符的位置后,获取所述移动后的起始光标与所述结束光标之间的文本区域为所述文本选中区域; 所述移动模块还用于当所述移动事件移动的是结束光标时,则将所述结束光标移动至所述移动事件结束时的字符的位置; 所述文本选中区域获取模块还用于在所述移动模块讲所述结束光标移动至所述移动事件结束时的字符的位置后,获取所述起始光标与所述移动后的结束光标之间的文本区域为所述文本选中区域。
10.根据权利要求9所述的只读文本的选中复制系统,其特征在于,所述操作响应模块包括 清除模块,用于响应抬起事件,清除所述起始光标和结束光标; 接收模块,用于显示操作选项浮出窗,接收对所述文本选中区域的复制分享操作; 处理模块,用于根据所述复制分享操作将所述文本选中区域中的文本进行复制分享。
全文摘要
一种只读文本的选中复制方法,包括以下步骤响应点击事件,获取发生点击事件的字符的位置、与所述字符相邻的下一个字符的位置;响应移动事件,获取移动事件结束时的字符的位置;根据所述发生点击事件的字符的位置、所述与发生点击事件的字符相邻的下一个字符的位置和所述移动事件结束时的字符的位置,获取文本选中区域;选中复制所述文本选中区域。采用上述方法,能够实现对只读文本中的文本内容进行选中复制等操作,提高了便利性。此外,还提供了一种只读文本的选中复制系统。
文档编号G06F17/21GK102799568SQ20111013925
公开日2012年11月28日 申请日期2011年5月26日 优先权日2011年5月26日
发明者马斌 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1