一種在移動設(shè)備進行觸控操作的方法和裝置的制造方法
【專利摘要】本發(fā)明實施例提供了一種在移動設(shè)備中進行觸控操作的方法和裝置,該方法包括:在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式;在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件;將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。一方面,通過對可操作區(qū)域的位置進行映射,實現(xiàn)對用戶單手無法操作的區(qū)域進行操作,避免另一個手幫忙點擊,提高了觸控操作的簡便性和效率;另一方面,無需對第一用戶界面進行縮小、移動等變換操作,可以讓用戶直接地進行操作,減少由于縮小、移動等變換之后,因位置錯誤而出錯的概率。
【專利說明】
一種在移動設(shè)備進行觸控操作的方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動設(shè)備的技術(shù)領(lǐng)域,特別是涉及一種在移動設(shè)備中進行觸控操作的方法和一種在移動設(shè)備中進行觸控操作的裝置。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,各種終端,尤其是諸如手機、平板電腦等移動設(shè)備在人們的工作、學(xué)習(xí)、日常交流等各方面的使用率也越來越高。
[0003]為了方便用戶的閱讀和查看等因素,移動設(shè)備的屏幕越來越大。
[0004]當(dāng)移動設(shè)備的屏幕比較大時,用戶單手操作變得越來越不方便。
[0005]例如,用戶右手拿著移動設(shè)備,需要在屏幕的左上方進行操作時,右手很難點擊至IJ,若用戶用單個手掌去點擊,容易會出現(xiàn)誤操作,因此往往需要另一個手幫忙點擊,導(dǎo)致觸控操作麻煩、效率低。
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,為了解決上述觸控操作麻煩、效率低的問題,本發(fā)明實施例提出了一種在移動設(shè)備中進行觸控操作的方法和相應(yīng)的一種在移動設(shè)備中進行觸控操作的裝置。
[0007]為了解決上述問題,本發(fā)明實施例公開了一種在移動設(shè)備中進行觸控操作的方法,包括:
[0008]在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式;
[0009]在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件;
[0010]將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。
[0011]優(yōu)選地,所述將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件的步驟包括:
[0012]在所述第一用戶界面上加載第二用戶界面;
[0013]接收發(fā)生在所述第二用戶界面中第一位置的第一觸控操作事件;
[0014]將所述第一位置映射至第二位置;
[0015]將所述第一觸控操作事件映射為第二觸控操作事件。
[0016]優(yōu)選地,所述第二用戶界面中包括多個分區(qū)區(qū)域,所述分區(qū)區(qū)域包括觸控區(qū)域和映射區(qū)域;
[0017]所述將所述第一位置映射至第二位置的步驟包括:
[0018]確定所述第一位置所屬的觸控區(qū)域;
[0019]查詢所述觸控區(qū)域與屏幕大小的比例關(guān)系;
[0020]按照所述比例關(guān)系,將所述第一位置映射至位于所述映射區(qū)域的第二位置。
[0021 ]優(yōu)選地,所述第一位置包括第一橫坐標(biāo)、第一縱坐標(biāo),所述第二位置包括第二橫坐標(biāo)、第二縱坐標(biāo),所述比例關(guān)系包括高度比;
[0022]所述確定所述第一位置所屬的觸控區(qū)域的步驟包括:
[0023]當(dāng)所述第一位置位于觸控區(qū)域內(nèi)時,確定所述第一位置屬于所述觸控區(qū)域;
[0024]或者,
[0025]當(dāng)所述第一位置位于分區(qū)區(qū)域內(nèi)、且不位于所述分區(qū)區(qū)域內(nèi)的觸控區(qū)域內(nèi)時,將所述第一位置投影至所述觸控區(qū)域的邊界上;
[0026]確定所述第一位置屬于所述觸控區(qū)域;
[0027]所述將所述第一位置映射至位于所述映射區(qū)域的第二位置的步驟包括:
[0028]當(dāng)所述觸控區(qū)域為所述分區(qū)區(qū)域時,將所述第一橫坐標(biāo)的值賦值給所述第二橫坐標(biāo);
[0029]將所述第一縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo);
[0030]或者,
[0031]當(dāng)所述觸控區(qū)域為所述分區(qū)區(qū)域中的部分區(qū)域時,將所述第一橫坐標(biāo)映射為所述分區(qū)區(qū)域的第三橫坐標(biāo)、將所述第一縱坐標(biāo)映射為所述分區(qū)區(qū)域的第三縱坐標(biāo);
[0032]將所述第三橫坐標(biāo)的值賦值給所述第二橫坐標(biāo);
[0033]將所述第三縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo);
[0034]其中,所述高度比例值為屏幕高度與所述高度比之間的乘積。
[0035]優(yōu)選地,還包括:
[0036]在所述第二位置上,顯示位置提示信息。
[0037]優(yōu)選地,還包括:
[0038]當(dāng)監(jiān)聽到第二目標(biāo)操作時,退出所述目標(biāo)操作模式。
[0039]優(yōu)選地,所述第一目標(biāo)操作為針對懸浮控件的指定操作;
[0040]所述第一觸控操作事件在所述懸浮控件中發(fā)生;
[0041 ]所述第二目標(biāo)操作為所述懸浮控件返回原始位置,所述原始位置為所述懸浮在啟動目標(biāo)操作模式時的位置。
[0042]本發(fā)明實施例還公開了一種在移動設(shè)備中進行觸控操作的裝置,包括:
[0043]目標(biāo)操作模式啟動模塊,用于在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式;
[0044]觸控信息映射模塊,用于在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件;
[0045]觸控操作模塊,用于將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。
[0046]優(yōu)選地,所述觸控信息映射模塊包括:
[0047]第二用戶界面加載子模塊,用于在所述第一用戶界面上加載第二用戶界面;
[0048]第一觸控操作事件接收子模塊,用于接收發(fā)生在所述第二用戶界面中第一位置的第一觸控操作事件;
[0049]位置映射子模塊,用于將所述第一位置映射至第二位置;
[0050]觸控操作事件映射子模塊,用于將所述第一觸控操作事件映射為第二觸控操作事件。
[0051]優(yōu)選地,所述第二用戶界面中包括多個分區(qū)區(qū)域,所述分區(qū)區(qū)域包括觸控區(qū)域和映射區(qū)域;
[0052]所述位置映射子模塊包括:
[0053]觸控區(qū)域確定單元,用于確定所述第一位置所屬的觸控區(qū)域;
[0054]比例關(guān)系查詢單元,用于查詢所述觸控區(qū)域與屏幕大小的比例關(guān)系;
[0055]比例映射單元,用于按照所述比例關(guān)系,將所述第一位置映射至位于所述映射區(qū)域的第二位置。
[0056]優(yōu)選地,所述第一位置包括第一橫坐標(biāo)、第一縱坐標(biāo),所述第二位置包括第二橫坐標(biāo)、第二縱坐標(biāo),所述比例關(guān)系包括高度比;
[0057]所述觸控區(qū)域確定單元包括:
[0058]第一確定子單元,用于在所述第一位置位于觸控區(qū)域內(nèi)時,確定所述第一位置屬于所述觸控區(qū)域;
[0059]或者,
[0060]位置投影子單元,用于在所述第一位置位于分區(qū)區(qū)域內(nèi)、且不位于所述分區(qū)區(qū)域內(nèi)的觸控區(qū)域內(nèi)時,將所述第一位置投影至所述觸控區(qū)域的邊界上;
[0061 ]第二確定子單元,用于確定所述第一位置屬于所述觸控區(qū)域;
[0062]優(yōu)選地,所述比例映射單元包括:
[0063]第一賦值子單元,用于在所述觸控區(qū)域為所述分區(qū)區(qū)域時,將所述第一橫坐標(biāo)的值賦值給所述第二橫坐標(biāo);
[0064]第二賦值子單元,用于將所述第一縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo);
[0065]或者,
[0066]坐標(biāo)映射子單元,用于在所述觸控區(qū)域為所述分區(qū)區(qū)域中的部分區(qū)域時,將所述第一橫坐標(biāo)映射為所述分區(qū)區(qū)域的第三橫坐標(biāo)、將所述第一縱坐標(biāo)映射為所述分區(qū)區(qū)域的第二縱坐標(biāo);
[0067]第三賦值子單元,用于將所述第三橫坐標(biāo)的值賦值給所述第二橫坐標(biāo);
[0068]第四賦值子單元,用于將所述第三縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo);
[0069]其中,所述高度比例值為屏幕高度與所述高度比之間的乘積。
[0070]優(yōu)選地,還包括:
[0071 ]提示信息顯示模塊,用于在所述第二位置上,顯示位置提示信息。
[0072]優(yōu)選地,還包括:
[0073]目標(biāo)操作模式退出單元,用于在監(jiān)聽到第二目標(biāo)操作時,退出所述目標(biāo)操作模式。
[0074]優(yōu)選地,所述第一目標(biāo)操作為針對懸浮控件的指定操作;
[0075]所述第一觸控操作事件在所述懸浮控件中發(fā)生;
[0076]所述第二目標(biāo)操作為所述懸浮控件返回原始位置,所述原始位置為所述懸浮在啟動目標(biāo)操作模式時的位置。
[0077]本發(fā)明實施例包括以下優(yōu)點:
[0078]本發(fā)明實施例在監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式,以方便進行單手操作,在這種模式中,對發(fā)生在第一位置的第一觸控操作事件進行映射,獲得鏡像的發(fā)生在第二位置的第二觸控操作事件,分發(fā)至第一用戶界面,進行相應(yīng)的操作,一方面,通過對可操作區(qū)域的位置進行映射,實現(xiàn)對用戶單手無法操作的區(qū)域進行操作,避免另一個手幫忙點擊,提高了觸控操作的簡便性和效率;另一方面,無需對第一用戶界面進行縮小、移動等變換操作,可以讓用戶直接地進行操作,減少由于縮小、移動等變換之后,因位置錯誤而出錯的概率。
【附圖說明】
[0079]圖1是本發(fā)明的一種在移動設(shè)備中進行觸控操作的方法實施例的步驟流程圖;
[0080]圖2A-圖2C是本發(fā)明實施例的一種單手觸控操作的示例圖;
[0081]圖3是本發(fā)明實施例的一種將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件的步驟流程圖;
[0082]圖4是本發(fā)明實施例的一種分區(qū)區(qū)域的示例圖;
[0083]圖5是本發(fā)明實施例的一種觸控操作的示例流程圖;
[0084]圖6是本發(fā)明的一種在移動設(shè)備中進行觸控操作的裝置實施例的結(jié)構(gòu)框圖。
【具體實施方式】
[0085]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明。
[0086]參照圖1,示出了本發(fā)明的一種在移動設(shè)備中進行觸控操作的方法實施例的步驟流程圖,具體可以包括如下步驟:
[0087]步驟101,在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式;
[0088]需要說明的是,本發(fā)明實施例可以應(yīng)用具有顯示屏的電子設(shè)備中,可以包括手機、平板電腦、個人數(shù)字助理、穿戴設(shè)備(如眼鏡、手表等)等移動設(shè)備,也可以包括電視、個人電腦等固定設(shè)備。
[0089]這些電子設(shè)備的操作系統(tǒng)可以包括Android(安卓)、10S、Windows Phone、Windows等等。
[0090]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實施例,在本說明書中,將Android作為操作系統(tǒng)的一種示例進行說明。
[0091]在可進行觸控操作的移動設(shè)備中,其屏幕一般包括顯示屏和觸摸屏(touchscreen)。
[0092]其中,顯示屏可以將用戶界面(User Interface,UI)元素,如窗口(包括控件)顯示到屏幕上,具體可以包括IXD(Liquid Crystal Display,液晶顯示器)顯示屏、LED(Light-Emitting D1de,發(fā)光二極管)顯示屏等等。
[0093]觸摸屏又可以稱為“觸控屏”、“觸控面板”,是個可接收觸頭等輸入訊號的感應(yīng)式液晶顯示裝置,具體可以包括矢量壓力傳感技術(shù)觸摸屏、電阻技術(shù)觸摸屏、電容技術(shù)觸摸屏、紅外線技術(shù)觸摸屏、表面聲波技術(shù)觸摸屏等等,本發(fā)明實施例對此不加以限制。
[0094]大多數(shù)情況下,觸摸屏附著在顯示屏之上,如果能測量出觸摸點在觸摸屏上的位置,則可根據(jù)顯示屏上對應(yīng)位置的用戶界面元素獲知用戶的意圖,進行相應(yīng)的操作,如關(guān)閉、確認(rèn)、返回等等。
[0095]在本發(fā)明實施例中,如圖2A所示,在第一用戶界面中,可以顯示應(yīng)用圖標(biāo)、文件夾、懸浮控件(圓形控件)等元素。
[0096]其中,懸浮控件是在基礎(chǔ)操作界面最上層的按鈕,可以懸浮于除游戲、視頻播放器等應(yīng)用之外的大部分的用戶界面之上。
[0097]以Android系統(tǒng)為例,可以利用PopupWindow這個控件來設(shè)置懸浮控件,這個控件顯示有兩個方法:
[0098]一種方法是showAsDropDown(View V)將PopupWindow作為V組件的下拉組件來顯示;
[0099]另一種方法是showAtLocat1n()方法,將PopupWindow顯示在指定的位置上。
[0?00]當(dāng)然,除了PopupWindow之外,還可以采用其他方式設(shè)置懸浮控件,本發(fā)明實施例對此不加以限制。
[0101]該懸浮控件可響應(yīng)用戶點擊、長按、重按等操作。
[0102]如圖2B所示,當(dāng)用戶點擊該懸浮控件時,可彈出一系列的菜單,方便用戶進行操作,如清理垃圾、鎖屏、播放、下拉快捷面板等等。
[0103]在本發(fā)明實施例中,若用戶單手不方便進行觸控操作,則可以觸發(fā)第一目標(biāo)操作,啟動目標(biāo)操作模式,即便于單手進行觸控操作的模式。
[0104]若移動設(shè)備具有懸浮控件,第一目標(biāo)操作可以為針對懸浮控件的指定操作,例如,長按(按壓時間超過預(yù)設(shè)的時間閾值)懸浮控件,重按(按壓壓力超過預(yù)設(shè)的壓力閾值)懸浮控件等等。
[0105]當(dāng)然,上述第一目標(biāo)操作只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他第一目標(biāo)操作,例如,指定的滑動手勢操作、點擊快捷面板中指定的控件,等等,本發(fā)明實施例對此不加以限制。另外,除了上述第一目標(biāo)操作外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其它第一目標(biāo)操作,本發(fā)明實施例對此也不加以限制。
[0106]在啟動目標(biāo)操作模式時,可以啟動某些模塊的線程,進行初始化,改變觸控操作的流程。
[0107]步驟102,在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件;
[0108]觸摸屏可以由觸摸檢測部件和觸摸屏控制器組成,在目標(biāo)操作模式中,觸摸檢測部件安裝在屏幕前面,觸摸檢測部件可以檢測用戶操作所觸發(fā)的觸控操作事件,接收后傳送給觸摸屏控制器。
[0109]其中,按下事件(Down)可以表示在觸摸屏按下未移動、未抬起,移動事件(Move)可以表示在觸摸屏按下后開始移動(或滑行),抬起事件(Up)可以表示在觸摸屏抬起。
[0110]而觸摸屏控制器可以將該觸摸信號轉(zhuǎn)換成位置(例如X坐標(biāo)和Y坐標(biāo))。
[0111]在本發(fā)明實施例中,由于單手可操作的區(qū)域有限,可以將發(fā)生在單手可操作的區(qū)域內(nèi)的第一位置的第一觸控操作事件,映射為發(fā)生在單手可操作區(qū)域外的第二位置的第二觸控操作事件。
[0112]由于第一位置為真實觸控點,而第二位置為虛擬觸控點,即將真實觸控點的觸控操作映射為虛擬觸控點的觸控操作。
[0113]在本發(fā)明的一個實施例中,如圖3所示,步驟102可以包括如下子步驟:
[0114]子步驟Sll,在所述第一用戶界面上加載第二用戶界面;
[0115]在本發(fā)明實施例中,可以在第一用戶界面上,加載一個透明、不設(shè)置邊框的第二用戶界面,使得第二用戶界面位于操作系統(tǒng)的最上層。
[0116]例如,在Andro id系統(tǒng)中,可以在第二用戶界面的窗口屬性中設(shè)定an droid:background = 〃#00000000〃,使得第二用戶界面透明。
[0117]由于第二用戶界面透明,第二用戶界面下的第一用戶界面依然可見,因此,在視覺效果上,第二用戶界面不會影響用戶針對第一用戶界面的操作。
[0118]此外,第二用戶界面可以與移動設(shè)備的屏幕大小相等,避免在第一用戶界面中發(fā)生誤操作。
[0119]例如,在Andro id系統(tǒng)中,可以在第二用戶界面的窗口屬性中設(shè)定an droid:layout_width = 〃f iIl_parent〃和android: layout_height = 〃fiIl_parent〃,使得第二用戶界面與移動設(shè)備的屏幕大小相同。
[0120]當(dāng)然,第二用戶界面也可以小于移動設(shè)備的屏幕,如第二用戶界面可以為一個懸浮控件,等等,本發(fā)明實施例對此不加以限制。
[0121]子步驟S12,接收發(fā)生在所述第二用戶界面中第一位置的第一觸控操作事件;
[0122]在具體實現(xiàn)中,用戶可以在第二用戶界面中進行操作,觸發(fā)第一觸控操作事件,例如,抬起事件(Up)、重壓事件、雙擊事件等等。
[0123]在一個示例中,若移動設(shè)備具有懸浮控件,在目標(biāo)操作模式中,可以在第二用戶界面記錄懸浮控件的原始位置,即如圖2C所示的空心圓,用戶可以按住的實心圓的懸浮控件移動。
[0124]子步驟S13,將所述第一位置映射至第二位置;
[0125]在具體實現(xiàn)中,第二用戶界面中包括多個分區(qū)區(qū)域,該分區(qū)區(qū)域可以包括觸控區(qū)域和映射區(qū)域,觸控區(qū)域一般為用戶單手可操作的區(qū)域,映射區(qū)域一般為用戶單手不可操作的區(qū)域。
[0126]為方便映射,觸控區(qū)域一般與屏幕的大小是等比例的。
[0127]其中,觸控區(qū)域可以依據(jù)移動設(shè)備的使用模式(如橫屏、豎屏)、用戶的手部(如左手、右手)確定方向。
[0128]例如,如圖4所示,第二用戶界面中包括分區(qū)區(qū)域A、分區(qū)區(qū)域B、分區(qū)區(qū)域C、分區(qū)區(qū)域D,若用戶在豎屏模式下,右手單手操作,則其單手可操作的區(qū)域為弧線內(nèi)的區(qū)域,則分區(qū)區(qū)域C中的區(qū)域F、分區(qū)區(qū)域D為觸控區(qū)域,分區(qū)區(qū)域A、分區(qū)區(qū)域B為映射區(qū)域,而分區(qū)區(qū)域C中的區(qū)域E既不屬于觸控區(qū)域,也不屬于映射區(qū)域。
[0129]此外,觸控區(qū)域可以是默認(rèn)的,也可以依據(jù)用戶觸控操作的習(xí)慣信息進行調(diào)整,本發(fā)明實施例對此不加以限制。
[0130]在本發(fā)明的一個實施例中,子步驟S13可以包括如下子步驟:
[0131]子步驟S131,確定第一位置所屬的觸控區(qū)域;
[0132]在一種情況中,當(dāng)?shù)谝晃恢梦挥谟|控區(qū)域內(nèi)時,確定第一位置屬于該觸控區(qū)域。
[0133]例如,如圖4所示,若第一位置位于觸控區(qū)域D或觸控區(qū)域E內(nèi),則可以確定第一位置屬于觸控區(qū)域D或觸控區(qū)域E。
[0134]或者,
[0135]在另一種情況中,當(dāng)?shù)谝晃恢梦挥诜謪^(qū)區(qū)域內(nèi)、且不位于分區(qū)區(qū)域內(nèi)的觸控區(qū)域內(nèi)時,將第一位置投影至觸控區(qū)域的邊界上,確定第一位置屬于該觸控區(qū)域。
[0136]例如,如圖4所示,若第一位置位于分區(qū)區(qū)域C的區(qū)域E內(nèi),而不在觸控區(qū)域F內(nèi),則可以將第一位置垂直投影至觸控區(qū)域F的邊界上,S卩X坐標(biāo)或Y坐標(biāo)設(shè)置為觸控區(qū)域F的邊界的X坐標(biāo)或Y坐標(biāo),確定第一位置屬于觸控區(qū)域F。
[0137]子步驟S132,查詢所述觸控區(qū)域與屏幕大小的比例關(guān)系;
[0138]在具體實現(xiàn)中,由于觸控區(qū)域與屏幕一般是等比例的,即兩者之間的比例關(guān)系可以包括高度比、寬度比等等。
[0139]子步驟S133,按照所述比例關(guān)系,將所述第一位置映射至位于所述映射區(qū)域的第二位置。
[0140]在具體實現(xiàn)中,第一位置包括第一橫坐標(biāo)(如X坐標(biāo))、第一縱坐標(biāo)(如Y坐標(biāo)),第二位置包括第二橫坐標(biāo)(如X坐標(biāo))、第二縱坐標(biāo)(如Y坐標(biāo))。
[0141]在一個示例中,當(dāng)觸控區(qū)域為分區(qū)區(qū)域時,可以將第一橫坐標(biāo)的值賦值給第二橫坐標(biāo),將第一縱坐標(biāo)的值與高度比例值之和賦值給第二縱坐標(biāo)。
[0142]其中,高度比例值為屏幕高度與高度比之間的乘積。
[0143]例如,如圖4所示,假設(shè)用戶真實觸控點的第一位置為M(Xm,ym),輸出的模擬觸控點的第二位置為叭1?,711)。
[0144]對于觸控點在觸控區(qū)域D的情況,由于觸控區(qū)域D與映射區(qū)域B在X軸方向長度一致,即Xn=Xm,設(shè)映射區(qū)域B與觸控區(qū)域D區(qū)在Y軸方向上的高度之比為a,則yn = aym。
[0145]假設(shè)觸控區(qū)域D的高度為屏幕高度的一半,設(shè)屏幕高度為h,第二位置的坐標(biāo)Ν(χη,
Yn) — ( Xm,0.5h+ym) ο
[0146]或者,
[0147]在另一個示例中,當(dāng)觸控區(qū)域為分區(qū)區(qū)域中的部分區(qū)域時,可以按照觸控區(qū)域與分區(qū)區(qū)域之間的比例關(guān)系,將第一橫坐標(biāo)映射為分區(qū)區(qū)域的第三橫坐標(biāo)、將第一縱坐標(biāo)映射為分區(qū)區(qū)域的第三縱坐標(biāo)。
[0148]將第三橫坐標(biāo)的值賦值給第二橫坐標(biāo),將第三縱坐標(biāo)的值與高度比例值之和賦值給第二縱坐標(biāo)。
[0149]其中,高度比例值為屏幕高度與高度比之間的乘積。
[0150]例如,如圖4所示,假設(shè)用戶真實觸控點的第一位置為M(Xm,ym),輸出的模擬觸控點的第二位置為叭1?,711)。
[0151]若用戶的手指(如拇指)在到分區(qū)區(qū)域C中進行操作,如拖動如圖2C所示的懸浮控件,由于手指無法覆蓋分區(qū)區(qū)域C的全部位置,在C區(qū)中劃出觸控區(qū)域F。
[0152]若映射區(qū)域A與觸控區(qū)域F在X軸方向上的寬度之比為a,在Y軸方向上的高度之比為,等比例得到N點(aXn,byn)0
[0153]假設(shè)屏幕的高度為為h,寬度為w,觸控區(qū)域F的寬度為0.25w,高度為0.3h。
[0154]那么,映射區(qū)域A的第二位置N(xn,yn),χη= 2.(Xm_0.25w),yn = 0.5h+(5/3ym)。
[0155]當(dāng)然,上述位置的映射方式只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他位置的映射方式,例如,劃分一個觸控區(qū)域進行映射、劃分三個觸控區(qū)域進行映射,等等,本發(fā)明實施例對此不加以限制。另外,除了上述位置的映射方式外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其它位置的映射方式,本發(fā)明實施例對此也不加以限制。
[0156]子步驟S14,將所述第一觸控操作事件映射為第二觸控操作事件。
[0157]在本發(fā)明實施例中,可以在第二位置上,顯示位置提示信息,方便用戶進行操作。
[0158]該提示信息可以為圖標(biāo)、也可以為文本或者其他數(shù)據(jù),本發(fā)明實施例對此不加以限制。
[0159]例如,如圖2C所示,若第二位置位于應(yīng)用圖標(biāo)“手機管家”上,則可以在應(yīng)用圖標(biāo)“手機管家”上顯示圓形圖標(biāo),作為提示信息。
[0160]應(yīng)用本發(fā)明實施例,可以預(yù)先設(shè)置觸控操作事件之間的映射關(guān)系,按照該映射關(guān)系,將第一觸控操作事件映射為第二觸控操作事件。
[0161]若移動設(shè)備包括懸浮控件,則第一觸控操作事件可以在懸浮控件中發(fā)生。
[0162]例如,如圖2C所示,若用戶移動懸浮控件,之后松開手指,一般會生成Up事件,可以將之映射為onClick事件,以啟動應(yīng)用圖標(biāo)“手機管家”所屬的應(yīng)用。
[0163]當(dāng)然,上述觸控事件的映射方式只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他觸控事件的映射方式,例如,若用戶重按手指,一般會生成重按事件,可以將之映射為onClick事件,等等,本發(fā)明實施例對此不加以限制。另外,除了上述觸控事件的映射方式外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其它觸控事件的映射方式,本發(fā)明實施例對此也不加以限制。
[0164]步驟103,將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。
[0165]在具體實現(xiàn)中,可以將第二位置、第二觸控操作事件上報至第一用戶界面,則可以按照第二觸控操作事件對位于第一用戶界面的第二位置的操作對象(如控件、應(yīng)用圖標(biāo)、文件夾等)進行操作,例如,啟動應(yīng)用、打開文件夾等等。
[ΟΙ66] 在Android系統(tǒng)中,用戶界面是由View和ViewGroup及其派生類組合而成的。
[0167]Andro id中的觸控操作事件的分發(fā),是將捕獲到的觸控操作事件以一定的規(guī)則層層傳遞,直到有相應(yīng)的監(jiān)聽或者回調(diào)函數(shù)響應(yīng)處理事件。
[0168]對于觸控操作事件的處理規(guī)則簡單的講是“冒泡”的形式,事件源的最小View單元開始,依次向外冒泡,將事件對層傳遞。
[ΟΙ69] 以模擬onClick()事件為例,可以采用Instrumental:1on類進行上報,該類中有sendPointerSync()方法可用來分發(fā)觸控操作事件。
[0170]通過發(fā)送Mot1nEvent.ACT 10N_D0WN和 Mot1nEvent.ACT 10N_UP 事件,可在 x,y 坐標(biāo)點上產(chǎn)生一次點擊事件。
[0171]當(dāng)然,當(dāng)監(jiān)聽到第二目標(biāo)操作時,退出目標(biāo)操作模式,如退出某些模塊的線程等等,恢復(fù)正常的觸控操作。
[0172]在一個示例中,如圖2C所示,第二目標(biāo)操作可以為懸浮控件返回原始位置,該原始位置為所述懸浮在啟動目標(biāo)操作模式時的位置。
[0173]當(dāng)然,除了懸浮控件之外,還可以設(shè)置其他第二目標(biāo)操作,如雙擊屏幕等等,本發(fā)明實施例對此不加以限制。
[0174]本發(fā)明實施例在監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式,以方便進行單手操作,在這種模式中,對發(fā)生在第一位置的第一觸控操作事件進行映射,獲得鏡像的發(fā)生在第二位置的第二觸控操作事件,分發(fā)至第一用戶界面,進行相應(yīng)的操作,一方面,通過對可操作區(qū)域的位置進行映射,實現(xiàn)對用戶單手無法操作的區(qū)域進行操作,避免另一個手幫忙點擊,提高了觸控操作的簡便性和效率;另一方面,無需對第一用戶界面進行縮小、移動等變換操作,可以讓用戶直接地進行操作,減少由于縮小、移動等變換之后,因位置錯誤而出錯的概率。
[0175]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實施例,參照圖5,以下通過具體的示例來說明本發(fā)明實施例中的觸控操作方法。
[0176]在步驟501中,如圖2A所示,懸浮控件交互設(shè)計成半透名的懸浮在基礎(chǔ)操作界面最上層的按鈕,用戶長按的懸浮控件,觸發(fā)單手模式;
[0177]在步驟502中,如圖2C所示,當(dāng)單手模式觸發(fā)時,懸浮控件的原始位置設(shè)置為一個空心圓,用戶按住的懸浮控件可跟隨手指移動;
[0178]在步驟503中,當(dāng)用戶按住懸浮按鈕時,接收懸浮控件發(fā)出的坐標(biāo),即真實觸控點,將坐標(biāo)信息經(jīng)過映射處理,得到虛擬觸控點的坐標(biāo);
[0?79] 在步驟504中,如圖2C所示,按照虛擬觸控點的坐標(biāo)在界面的相應(yīng)位置顯示虛擬觸控點;
[0180]在步驟505中,當(dāng)用戶松開懸浮控件時,在虛擬觸控點上報onClick事件,相當(dāng)于用戶在虛擬觸控點發(fā)生了一次點擊操作;
[0181]在步驟506中,當(dāng)用戶將懸浮控件拖回到原來位置(即空心圓)時,取消本次單手模式。
[0182]需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
[0183]參照圖6,示出了本發(fā)明的一種在移動設(shè)備中進行觸控操作的裝置實施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0184]目標(biāo)操作模式啟動模塊601,用于在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式;
[0185]觸控信息映射模塊602,用于在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件;
[0186]觸控操作模塊603,用于將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。
[0187]在本發(fā)明的一個實施例中,所述觸控信息映射模塊602可以包括如下子模塊:
[0188]第二用戶界面加載子模塊,用于在所述第一用戶界面上加載第二用戶界面;
[0189]第一觸控操作事件接收子模塊,用于接收發(fā)生在所述第二用戶界面中第一位置的第一觸控操作事件;
[0190]位置映射子模塊,用于將所述第一位置映射至第二位置;
[0191 ]觸控操作事件映射子模塊,用于將所述第一觸控操作事件映射為第二觸控操作事件。
[0192]在本發(fā)明的一個實施例中,所述第二用戶界面中包括多個分區(qū)區(qū)域,所述分區(qū)區(qū)域包括觸控區(qū)域和映射區(qū)域;
[0193]所述位置映射子模塊可以包括如下單元:
[0194]觸控區(qū)域確定單元,用于確定所述第一位置所屬的觸控區(qū)域;
[0195]比例關(guān)系查詢單元,用于查詢所述觸控區(qū)域與屏幕大小的比例關(guān)系;
[0196]比例映射單元,用于按照所述比例關(guān)系,將所述第一位置映射至位于所述映射區(qū)域的第二位置。
[0197]在本發(fā)明的一個實施例中,所述第一位置包括第一橫坐標(biāo)、第一縱坐標(biāo),所述第二位置包括第二橫坐標(biāo)、第二縱坐標(biāo),所述比例關(guān)系包括高度比;
[0198]所述觸控區(qū)域確定單元可以包括如下子單元:
[0199]第一確定子單元,用于在所述第一位置位于觸控區(qū)域內(nèi)時,確定所述第一位置屬于所述觸控區(qū)域;
[0200]或者,
[0201]位置投影子單元,用于在所述第一位置位于分區(qū)區(qū)域內(nèi)、且不位于所述分區(qū)區(qū)域內(nèi)的觸控區(qū)域內(nèi)時,將所述第一位置投影至所述觸控區(qū)域的邊界上;
[0202]第二確定子單元,用于確定所述第一位置屬于所述觸控區(qū)域;
[0203]在本發(fā)明實施例的一個示例中,所述比例映射單元可以包括如下子單元:
[0204]第一賦值子單元,用于在所述觸控區(qū)域為所述分區(qū)區(qū)域時,將所述第一橫坐標(biāo)的值賦值給所述第二橫坐標(biāo);
[0205]第二賦值子單元,用于將所述第一縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo);
[0206]或者,
[0207]坐標(biāo)映射子單元,用于在所述觸控區(qū)域為所述分區(qū)區(qū)域中的部分區(qū)域時,將所述第一橫坐標(biāo)映射為所述分區(qū)區(qū)域的第三橫坐標(biāo)、將所述第一縱坐標(biāo)映射為所述分區(qū)區(qū)域的第二縱坐標(biāo);
[0208]第三賦值子單元,用于將所述第三橫坐標(biāo)的值賦值給所述第二橫坐標(biāo);
[0209]第四賦值子單元,用于將所述第三縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo);
[0210]其中,所述高度比例值為屏幕高度與所述高度比之間的乘積。
[0211 ]在本發(fā)明的一個實施例中,該裝置還可以包括如下模塊:
[0212]提示信息顯示模塊,用于在所述第二位置上,顯示位置提示信息。
[0213]在本發(fā)明的一個實施例中,該裝置還可以包括如下模塊:
[0214]目標(biāo)操作模式退出單元,用于在監(jiān)聽到第二目標(biāo)操作時,退出所述目標(biāo)操作模式。
[0215]在具體實現(xiàn)中,所述第一目標(biāo)操作為針對懸浮控件的指定操作;
[0216]所述第一觸控操作事件在所述懸浮控件中發(fā)生;
[0217]所述第二目標(biāo)操作為所述懸浮控件返回原始位置,所述原始位置為所述懸浮在啟動目標(biāo)操作模式時的位置。
[0218]對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0219]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0220]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0221]本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0222]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0223]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0224]盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
[0225]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
[0226]以上對本發(fā)明所提供的一種在移動設(shè)備中進行觸控操作的方法和一種在移動設(shè)備中進行觸控操作的裝置,進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【主權(quán)項】
1.一種在移動設(shè)備中進行觸控操作的方法,其特征在于,包括: 在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式; 在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件; 將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件的步驟包括: 在所述第一用戶界面上加載第二用戶界面; 接收發(fā)生在所述第二用戶界面中第一位置的第一觸控操作事件; 將所述第一位置映射至第二位置; 將所述第一觸控操作事件映射為第二觸控操作事件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第二用戶界面中包括多個分區(qū)區(qū)域,所述分區(qū)區(qū)域包括觸控區(qū)域和映射區(qū)域; 所述將所述第一位置映射至第二位置的步驟包括: 確定所述第一位置所屬的觸控區(qū)域; 查詢所述觸控區(qū)域與屏幕大小的比例關(guān)系; 按照所述比例關(guān)系,將所述第一位置映射至位于所述映射區(qū)域的第二位置。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第一位置包括第一橫坐標(biāo)、第一縱坐標(biāo),所述第二位置包括第二橫坐標(biāo)、第二縱坐標(biāo),所述比例關(guān)系包括高度比; 所述確定所述第一位置所屬的觸控區(qū)域的步驟包括: 當(dāng)所述第一位置位于觸控區(qū)域內(nèi)時,確定所述第一位置屬于所述觸控區(qū)域; 或者, 當(dāng)所述第一位置位于分區(qū)區(qū)域內(nèi)、且不位于所述分區(qū)區(qū)域內(nèi)的觸控區(qū)域內(nèi)時,將所述第一位置投影至所述觸控區(qū)域的邊界上; 確定所述第一位置屬于所述觸控區(qū)域; 所述將所述第一位置映射至位于所述映射區(qū)域的第二位置的步驟包括: 當(dāng)所述觸控區(qū)域為所述分區(qū)區(qū)域時,將所述第一橫坐標(biāo)的值賦值給所述第二橫坐標(biāo); 將所述第一縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo); 或者, 當(dāng)所述觸控區(qū)域為所述分區(qū)區(qū)域中的部分區(qū)域時,將所述第一橫坐標(biāo)映射為所述分區(qū)區(qū)域的第三橫坐標(biāo)、將所述第一縱坐標(biāo)映射為所述分區(qū)區(qū)域的第三縱坐標(biāo); 將所述第三橫坐標(biāo)的值賦值給所述第二橫坐標(biāo); 將所述第三縱坐標(biāo)的值與高度比例值之和賦值給所述第二縱坐標(biāo); 其中,所述高度比例值為屏幕高度與所述高度比之間的乘積。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在所述第二位置上,顯示位置提示信息。6.根據(jù)權(quán)利要求1或2或3或4或5所述的方法,其特征在于,還包括: 當(dāng)監(jiān)聽到第二目標(biāo)操作時,退出所述目標(biāo)操作模式。7.根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述第一目標(biāo)操作為針對懸浮控件的指定操作; 所述第一觸控操作事件在所述懸浮控件中發(fā)生; 所述第二目標(biāo)操作為所述懸浮控件返回原始位置,所述原始位置為所述懸浮在啟動目標(biāo)操作模式時的位置。8.一種在移動設(shè)備中進行觸控操作的裝置,其特征在于,包括: 目標(biāo)操作模式啟動模塊,用于在第一用戶界面中監(jiān)聽到第一目標(biāo)操作時,啟動目標(biāo)操作模式; 觸控信息映射模塊,用于在所述目標(biāo)操作模式中,將發(fā)生在第一位置的第一觸控操作事件映射為發(fā)生在第二位置的第二觸控操作事件; 觸控操作模塊,用于將發(fā)生在第二位置的第二觸控操作事件上報至所述第一用戶界面,以進行相應(yīng)的操作。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述觸控信息映射模塊包括: 第二用戶界面加載子模塊,用于在所述第一用戶界面上加載第二用戶界面; 第一觸控操作事件接收子模塊,用于接收發(fā)生在所述第二用戶界面中第一位置的第一觸控操作事件; 位置映射子模塊,用于將所述第一位置映射至第二位置; 觸控操作事件映射子模塊,用于將所述第一觸控操作事件映射為第二觸控操作事件。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第二用戶界面中包括多個分區(qū)區(qū)域,所述分區(qū)區(qū)域包括觸控區(qū)域和映射區(qū)域; 所述位置映射子模塊包括: 觸控區(qū)域確定單元,用于確定所述第一位置所屬的觸控區(qū)域; 比例關(guān)系查詢單元,用于查詢所述觸控區(qū)域與屏幕大小的比例關(guān)系; 比例映射單元,用于按照所述比例關(guān)系,將所述第一位置映射至位于所述映射區(qū)域的第二位置。
【文檔編號】G06F3/0488GK106020678SQ201610284866
【公開日】2016年10月12日
【申請日】2016年4月29日
【發(fā)明人】孫輝
【申請人】青島海信移動通信技術(shù)股份有限公司