一種實現智能終端中文本編輯的方法和系統的制作方法
【專利摘要】本發明公開一種實現智能終端中文本編輯的方法和系統,方法包括:在視圖中創建文本編輯控件、文本展示控件和文本控件,設置所述文本控件的尺寸與所述文本展示控件的尺寸相同,并將所述文本控件置于所述文本展示控件之上;在文本編輯應用啟動時,通過智能終端平臺自動創建主線程;當智能終端屏幕被點擊時,觸發點擊事件,將所述點擊事件下發給所述文本控件,通過所述文本控件處理所述點擊事件;當在所述文本編輯控件中輸入字符時,對應輸入字符的操作創建子線程,通過子線程取得輸入的字符,通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的字符本發明解決了在字符輸入時無法在文本編輯中將文字逐個展示的問題。
【專利說明】一種實現智能終端中文本編輯的方法和系統
【技術領域】
[0001]本發明涉及智能終端領域,特別涉及一種實現智能終端中文本編輯的方法和系 統。 '、
【背景技術】
[0002]智能終端中通過控件進行文字輸入,控件包括文本編輯控件EditText (A)和文本 展示控件EditText(B)和文本控件TextView(C)。文本展示控件用于展現通過文本編輯控 件輸入的文本,文本編輯控件為用戶輸入字符的輸入接口。文本控件展示靜態文本。在現有 技術中,單獨地使用文本編輯控件和文本展示控件進行文本編輯,將輸入的文字逐個展示。
[0003] 但是,采用單獨地使用文本編輯控件和文本展示控件進行文本編輯的方法,當智 能終端屏幕被點擊時,文本展示控件接收到點擊事件,之后會調出軟鍵盤輸入法,由此通過 軟件鍵盤輸入法來輸入字符,在確認后進行文字顯示。由此,無法取得將文字逐個展示的效 果。
【發明內容】
[0004] 本發明提供了實現智能終端中文本編輯的方法和系統,以解決無法取得將文字逐 個展示的效果的問題。
[0005] 根據本發明的一個方面,公開了一種實現智能終端中文本編輯的方法,所述方法 包括:
[0006] -種實現智能終端中文本編輯的方法,其特征在于,所述方法包括:
[0007] 在視圖中創建文本編輯控件、文本展示控件和文本控件,設置所述文本控件的尺 寸與所述文本展示控件的尺寸相同,并將所述文本控件置于所述文本展示控件之上;
[0008] 在文本編輯應用啟動時,通過智能終端平臺自動創建主線程;
[0009] 當智能終端屏幕被點擊時,觸發點擊事件,將所述點擊事件下發給所述文本控件, 通過所述文本控件處理所述點擊事件;
[0010] 當在所述文本編輯控件中輸入字符時,對應輸入字符的操作創建子線程,通過子 線程取得輸入的字符,通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的 字符。
[0011] 其中,所述將所述文本控件置于所述文本展示控件之上具體包括:
[0012] 在所述文本控件中設置相對布局的屬性值,使得所述文本控件的邊緣與所述文本 展示控件的邊緣對齊。
[0013] 其中,所述通過子線程取得輸入的字符具體包括:
[0014] 利用子線程處理輸入操作,取得所述文本編輯控件中輸入的字符,并向消息發送 器發送包含所取得字符的消息Message對象;
[0015] 所述通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的字符具 體包括:
[0016] 利用消息發送器接收子線程發送的Message對象,取得Message對象中的字符,將 字符逐個、定時地發送給主線程;
[0017] 利用主線程接收發送的字符,每接收到一個字符后,根據該接收的字符更新所述 文本展示控件中內容。
[0018] 其中,所述方法還包括:
[0019] 在通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的字符之后, 在文本展示控件中將光標位置設置為位于文本展示控件的文字之后。
[0020] 其中,所述方法還包括:
[0021] 在文本展示控件中將光標的樣式修改為短橫線。
[0022] 其中,所述通過所述文本控件處理所述點擊事件具體包括:
[0023] 所述文本控件接收點擊事件,對點擊事件進行處理,并對文本展示控件屏蔽該點 擊事件。
[0024] 根據本發明的另一方面,公開了一種實現智能終端中文本編輯的系統,所述系統 包括:
[0025] 控件創建單元,用于在視圖中創建文本編輯控件、文本展示控件和文本控件,設置 所述文本控件的尺寸與所述文本展示控件的尺寸相同,并將所述文本控件置于所述文本展 示控件之上;
[0026] 線程創建單元,用于在文本編輯應用啟動時,通過智能終端平臺自動創建主線 程;
[0027]點擊操作處理單元,用于當智能終端屏幕被點擊時,觸發點擊事件,將所述點擊事 件下發給所述文本控件,通過所述文本控件處理所述點擊事件;
[0028] 輸入操作處理單元,用于當在所述文本編輯控件中輸入字符時,指示線程創建單 元對應輸入字符的操作創建子線程,通過子線程取得輸入的字符,通過主線程在所述文本 展示控件中以設定頻率展示子線程所取得的字符。
[0029] 其中,所述控件創建單元,具體用于在所述文本控件中設置相對布局的屬性值,使 得所述文本控件的邊緣與所述文本展示控件的邊緣對齊。
[0030] 其中,所述輸入操作處理單元,具體用于利用子線程處理輸入操作,取得所述文本 編輯控件中輸入的字符,并向消息發送器發送包含所取得字符的消息Message對象;
[0031] 所述輸入操作處理單元,具體用于利用消息發送器接收子線程發送的Message對 象,取得Message對象中的字符,將字符逐個、定時地發送給主線程,利用主線程接收發送 的字符,每接收到一個字符后,根據該接收的字符更新所述文本展示控件中內容。
[0032] 其中,所述輸入操作處理單元,還用于在通過主線程在所述文本展示控件中以設 定頻率展示子線程所取得的字符之后,在文本展示控件中將光標位置設置為位于文本展示 控件的文字之后。
[0033] 本發明的有益效果是:在文本展示控件上放置與該文本展示控件同樣大小的文本 控件,并當智能終端屏幕被點擊時,觸發點擊事件,將點擊事件下發給文本控件,通過文本 控件處理該點擊事件,避免文本展示控件接收到點擊事件,當在智能終端中輸入字符時,通 過子線程取得文本編輯控件輸入的字符,通過主線程在文本展示控件中以設定頻率展示子 線程所取得的字符。由此能夠使用文本控件攔截點擊事件,進而阻止文本展示控件對點擊 事件進行響應,不會在點擊時調出軟鍵盤輸入法,進而取得了以打印機方式展示字符的效 果,即以設定頻率展示所取得的字符。
【專利附圖】
【附圖說明】
[0034]圖1為根據本發明一實施例的實現智能終端中文本編輯的方法的流程圖;
[0035]圖2為根據本發明一實施例的實現智能終端中文本編輯的系統的結構圖。
【具體實施方式】
[0036]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方 式作進一步地詳細描述。
[0037]參見圖1,為根據本發明一實施例的實現智能終端中文本編輯的方法的流程圖。如 圖所示,該方法包括下列步驟。
[0038]步驟S110,在視圖中創建文本編輯控件、文本展示控件和文本控件,設置文本控件 的尺寸與文本展示控件的尺寸相同,并將文本控件置于文本展示控件之上。 I
[0039]在一實施例中,將文本控件置于文本展示控件之上具體包括:在文本控件中設 直相對布局的屬性值,使得文本控件的邊緣與文本展示控件的邊緣對齊。例如,設置相對 布局的底邊緣對齊屬性layout_alignBottom,將文本控件的底邊緣與文本展示控件的底 邊緣對齊;設置相對布局的頂邊緣對齊屬性layout-alignTop,將文本控件的頂邊緣與文 本展示控件的頂邊緣對齊;設置相對布局的左邊緣對齊屬性 lay〇ut-alignLeft將文本 控件的左邊緣與文本展示控件的左邊緣對齊;設置相對布局的右邊緣對齊屬性' lay〇ut_ alignRight,將文本控件的右邊緣與文本展示控件的右邊緣對齊。 _
[0040]此外,為達到更好的展示效果,步驟S110中還可以包括在文本展示控件中將光標 的樣式修改為短橫線,以及設置背景圖樣。
[0041]舉例而言,如Andriod系統中可以通過如下方式設置文本展示控件。
[0042] 。 <EditText android.:id=''@+id/edit"http://設置該文本編輯控件的id 節drQM:taymit_width=''fill」)arem7纖置文本展·控件的寬處
[0043] android: 1 ay out_height=f'財 ap一 -cantint'·!:置文本展審控件的高度 android :background="#00000000"/股置背景樣式. android :textCui.sorDrawaWe=',@drawabldG爾8伽"/>織置廉 _樣式
[0044]之后,設置文本控件,通過相對布局將文本控件置于文本展示控件之上。
[0045] 。 〈TextView tD〇droid:id="@rHd/text"/7設置該文本展示控件的ID :android:].ayout_width="wrap_content7/設置文本控件的寬度 :_!祕(!:1釋〇11〖_1"^8丨1戶%兩)__^〇1|"/威置..文本隹:件.的.高虔 android: layouLal ignB*att_i=M@ii/editfW設置底邊緣與前迷文.本展示控件淨 底邊緣對齊 android: la^__a_xL處=" @idledli"http://設置左.邊緣與前:?文本展示雜件左 邊緣對齊 額droid倉,i|_al_iRig_=" @idle龜"http://豫置右遑緣?前述文本展示控件右 邊緣對齊 android:layo?|_a3%nTop="@id/edi^ />/^置頂達緣與翁述文本展示控件 頂邊緣對齊
[0046]通過上述步驟,文本控件置于文本展示控件之上,并且文本控件中沒有內容,相當 于一透明圖層。
[0047] 步驟S120,在文本編輯應用啟動時,通過智能終端平臺自動創建主線程。
[0048]步驟S130,當智能終端屏幕被點擊時,觸發點擊事件,將點擊事件下發給文本控 件,通過文本控件處理該點擊事件。
[0049]具體地,通過文本控件處理所述點擊事件具體包括:文本控件接收點擊事件,對點 擊事件進行處理,并對文本展示控件屏蔽該點擊事件。
[0050] 舉例而言,如Andriod系統中對點擊事件的捕捉可以通過如下函數實現。
[0051] rextVicw.sctOn r〇uchLisiener(new View.OnTouchListener() { @OvciTidc public boolean onTouch(View v, MotionEvent SYent) { // TODO Auto-generated method stub
[0052] return true;//__ toif,表暈視霉層中該_脊下面縛控偉就不會翻文到屏 幕點擊事件了 })
[0053]因為,在智能終端的各個平臺中,對點擊事件的處理均采用按層下發的方式。當上 層接收到點擊事件進行處理(返回true)之后,下層不會再處理該點擊事件。因此,通過上 述步驟,可以使用文本控件對點擊事件進行攔截,由此文本展示控件不會再處理點擊事件, 也就不會調用軟鍵盤輸入法。
[0054] 步驟S140,當在文本編輯控件中輸入字符時,對應輸入字符的操作創建子線程,通 過子線程取得輸入的字符,通過主線程在文本展示控件中以設定頻率展示子線程所取得的 字符。
[0055] 此外,步驟S140還可以包括在通過主線程在文本展示控件中以設定頻率展示子 線程所取得的字符之后,在文本展示控件中將光標位置設置為位于文本展示控件的文字之 后。由此,產生在文本展示控件的內容文字的末尾展示光標的效果,并且如果在步驟S110 中將光標的樣式修改為短橫線,則在文本展示控件的內容文字的末尾展示短光標。
[0056] 舉例而言,通過子線程取得文本編輯控件中輸入的字符具體包括:利用子線程處 理輸入操作,取得文本編輯控件中輸入的字符,并向消息發送器發送包含所取得字符的消 息Message對象。
[0057] 通過主線程在文本展示控件中以設定頻率展示子線程所取得的字符具體包括:利 用消息發送器接收子線程發送的Message對象,取得Message對象中的字符,將字符逐個、 定時地發送給主線程;利用主線程接收發送的字符,每接收到一個字符后,根據該接收的字 符更新文本展不控件中內各。
[0058] 以安卓系統為例,消息發送器為處理機Handler。
[0059] 而在 wp7 (Windows Phone 7)中,可以通過跨線程機制 Dispatcher. Beginlnvoke 實現消息發送器的功能。
[0060] 此處,通過消息發送器在子線程和主線程間進行數據傳輸,并且使用主線程進行 文本展示控件更新,使用子線程處理字符輸入操作。這樣,不用使用主線程處理字符輸入操 作,能夠避免因該字符輸入操作異常或處理時間超時而使得整個智能終端進入假死狀態, 從而導致強行關閉。使用主線程進行文本展示控件更新,能夠使得智能終端平臺更加安全。
[0061] 通過處理機消息發送器的定時發送消息功能,使得打印機方式更容易實現,消息 發送器將子線程所得輸入字符以一定時間間隔逐個發送給主線程,主線程僅需每當接收到 字符時,按該字符更新文本展示控件,便可以取得打印機方式的字符顯示效果。
[0062]由此,采用上述實施例,能夠使用文本控件攔截點擊事件,進而阻止文本展示控件 對點擊事件進行響應,不會在點擊時調出軟鍵盤輸入法,進而取得了保證打印機方式的字 符展示方式的效果。并且,與設置文本展示控件不接收焦點的方式相比,本實施例還可以在 展示的文字之后顯示光標,進一步豐富了展示內容,并可以向用戶提示當前的輸入位置。
[0063] 如圖2所示,為根據本發明一實施例的實現智能終端中文本編輯的系統的結構 圖。該系統包括如下單元。
[0064] 控件創建單元210,用于在視圖中創建文本編輯控件、文本展示控件和文本控件, 設置文本控件的尺寸與文本展示控件的尺寸相同,并將文本控件置于文本展示控件之上。
[0065] 線程創建單元240,用于在文本編輯應用啟動時,通過智能終端平臺自動創建主線 程。
[0066] 點擊操作處理單元220,用于當智能終端屏幕被點擊時,觸發點擊事件,將點擊事 件下發給文本控件,通過文本控件處理該點擊事件。
[0067]舉例而言,點擊操作處理單元220,用于通過文本控件接收點擊事件,對點擊事件 進行處理,并對文本展示控件屏蔽該點擊事件
[0068] 輸入操作處理單元230,用于當在文本編輯控件中輸入字符時,指示線程創建單元 240對應輸入字符的操作創建子線程,通過子線程取得輸入的字符,通過主線程在文本展示 控件中以設定頻率展示子線程所取得的字符。
[0069] 較佳地,控件創建單元210,具體用于在文本控件中設置相對布局的屬性值,使得 文本控件的邊緣與文本展示控件的邊緣對齊。
[0070] 較佳地,輸入操作處理單元230,具體用于利用子線程處理輸入操作,取得文本編 輯控件中輸入的字符,并向處理機消息發送器發送包含所取得字符的消息Message對象; 并利用消息發送器接收子線程發送的Message對象,取得Message對象中的字符,將字符逐 個、定時地發送給主線程,利用主線程接收發送的字符,每接收到一個字符后,根據該接收 的字符更新文本展示控件中內容。
[0071] 較佳地,輸入操作處理單元230,還用于在通過主線程在文本展示控件中以設定頻 率展示子線程所取得的字符之后,在文本展示控件中將光標位置設置為位于文本展示控件 的文字之后。
[0072] 較佳地,控件創建單元210,還用于在文本展示控件中將光標的樣式修改為短橫 線。
[0073] 以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍,本發 明的技術方案也不僅僅局限于Andriod系統。凡在本發明的精神和原則之內所作的任何修 改、等同替換、改進等,均包含在本發明的保護范圍內。
【權利要求】
1. 一種實現智能終端中文本編輯的方法,其特征在于,所述方法包括: 在視圖中創建文本編輯控件、文本展示控件和文本控件,設置所述文本控件的尺寸與 所述文本展示控件的尺寸相同,并將所述文本控件置于所述文本展示控件之上; 在文本編輯應用啟動時,通過智能終端平臺自動創建主線程; 當智能終端屏幕被點擊時,觸發點擊事件,將所述點擊事件下發給所述文本控件,通過 所述文本控件處理所述點擊事件; 當在所述文本編輯控件中輸入字符時,對應輸入字符的操作創建子線程,通過子線程 取得輸入的字符,通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的字 符。
2. 根據權利要求1所述的方法,其特征在于, 所述將所述文本控件置于所述文本展示控件之上具體包括: 在所述文本控件中設置相對布局的屬性值,使得所述文本控件的邊緣與所述文本展示 控件的邊緣對齊。
3. 根據權利要求1所述的方法,其特征在于, 所述通過子線程取得輸入的字符具體包括: 利用子線程處理輸入操作,取得所述文本編輯控件中輸入的字符,并向消息發送器發 送包含所取得字符的消息Message對象; 所述通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的字符具體包 括: 利用消息發送器接收子線程發送的Message對象,取得Message對象中的字符,將字符 逐個、定時地發送給主線程; 利用主線程接收發送的字符,每接收到一個字符后,根據該接收的字符更新所述文本 展示控件中內容。
4. 根據權利要求1所述的方法,其特征在于, 所述方法還包括: 在通過主線程在所述文本展示控件中以設定頻率展示子線程所取得的字符之后,在文 本展示控件中將光標位置設置為位于文本展示控件的文字之后。
5. 根據權利要求4所述的方法,其特征在于, 所述方法還包括: 在文本展示控件中將光標的樣式修改為短橫線。
6. 根據權利要求1所述的方法,其特征在于, 所述通過所述文本控件處理所述點擊事件具體包括: 所述文本控件接收點擊事件,對點擊事件進行處理,并對文本展示控件屏蔽該點擊事 件。
7. -種實現智能終端中文本編輯的系統,其特征在于,所述系統包括: 控件創建單元,用于在視圖中創建文本編輯控件、文本展示控件和文本控件,設置所述 文本控件的尺寸與所述文本展示控件的尺寸相同,并將所述文本控件置于所述文本展示控 件之上; 線程創建單元,用于在文本編輯應用啟動時,通過智能終端平臺自動創建主線程; 點擊操作處理單元,用于當智能終端屏幕被點擊時,觸發點擊事件,將所述點擊事件下 發給所述文本控件,通過所述文本控件處理所述點擊事件; 輸入操作處理單元,用于當在所述文本編輯控件中輸入字符時,指示線程創建單元對 應輸入字符的操作創建子線程,通過子線程取得輸入的字符,通過主線程在所述文本展示 控件中以設定頻率展示子線程所取得的字符。
8. 根據權利要求7所述的系統,其特征在于, 所述控件創建單元,具體用于在所述文本控件中設置相對布局的屬性值,使得所述文 本控件的邊緣與所述文本展示控件的邊緣對齊。
9. 根據權利要求7所述的系統,其特征在于, 所述輸入操作處理單元,具體用于利用子線程處理輸入操作,取得所述文本編輯控件 中輸入的字符,并向消息發送器發送包含所取得字符的消息Message對象;并利用消息發 送器接收子線程發送的Message對象,取得Message對象中的字符,將字符逐個、定時地發 送給主線程,利用主線程接收發送的字符,每接收到一個字符后,根據該接收的字符更新所 述文本展示控件中內容。
10. 根據權利要求9所述的系統,其特征在于, 所述輸入操作處理單元,還用于在通過主線程在所述文本展示控件中以設定頻率展示 子線程所取得的字符之后,在文本展示控件中將光標位置設置為位于文本展示控件的文字 之后。
【文檔編號】G06F3/0488GK104252309SQ201310270578
【公開日】2014年12月31日 申請日期:2013年6月29日 優先權日:2013年6月29日
【發明者】耿洪超 申請人:北京新媒傳信科技有限公司