本技術(shù)涉及智能終端,尤其涉及一種顯示方法、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著筆記應(yīng)用功能越來越強(qiáng)大,筆記應(yīng)用的使用體驗(yàn)也越來越豐富。例如,用戶可以在筆記應(yīng)用的文本筆記中鍵入文本,粘貼已復(fù)制到剪貼板中的內(nèi)容,添加超鏈接,添加圖片,添加音頻等,還可以通過手寫方式輸入文字、圖形等內(nèi)容。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種顯示方法、電子設(shè)備及存儲介質(zhì)。在該方法中,用戶拖動筆記應(yīng)用界面中畫布邊界線調(diào)整畫布高度時(shí),畫布邊界線的更新不依賴于畫布高度的更新,以此提升了畫布邊界線位置變化時(shí)的跟手性。
2、第一方面,本技術(shù)實(shí)施例提供一種顯示方法。該方法包括:
3、電子設(shè)備顯示目標(biāo)應(yīng)用的第一界面,第一界面是基于第一視圖和第二視圖顯示的,第一視圖和手寫畫布的目標(biāo)邊界線對應(yīng),第二視圖和畫布對應(yīng),第二視圖是透明的;目標(biāo)邊界線為頂部邊界線或底部邊界線;電子設(shè)備響應(yīng)于拖動目標(biāo)邊界線時(shí)手指位置從第一位置滑動到第二位置,對第一視圖進(jìn)行更新;電子設(shè)備在對第一視圖進(jìn)行更新之后,顯示目標(biāo)應(yīng)用的第二界面;在第二界面中,目標(biāo)邊界線被顯示在第二位置;電子設(shè)備對第一視圖進(jìn)行更新之后,根據(jù)第一視圖的更新結(jié)果對第二視圖的高度進(jìn)行更新。
4、示例性的,目標(biāo)應(yīng)用可以是筆記應(yīng)用,第一界面可以是筆記應(yīng)用的編輯界面,編輯界面中包括手寫區(qū)域(也稱畫布)。其中,第一界面可以包括第一視圖和第二視圖,第一視圖用于顯示畫布邊界線,第二視圖用于顯示畫布。
5、其中,對第一視圖進(jìn)行更新,可以理解為更新第一視圖的尺寸、位置等中的至少一項(xiàng)。
6、這樣,由于畫布在顯示界面中是透明不可見的,用戶在顯示界面中直觀看到的是畫布邊界線,將兩者解耦后,畫布邊界線的更新就不再依賴于畫布高度的更新,使得在用戶快速拖動畫布邊界線時(shí),畫布邊界線也能夠流暢地跟隨手指滑動,且畫布邊界線能夠滑動停留在手寫筆跡的邊界位置處。
7、根據(jù)第一方面,電子設(shè)備對第一視圖進(jìn)行更新,包括:電子設(shè)備通過目標(biāo)應(yīng)用的子線程對第一視圖進(jìn)行更新。
8、示例性的,子線程可以是目標(biāo)應(yīng)用javascript端的線程。這樣,畫布邊界線的更新就不再由任務(wù)繁重的目標(biāo)應(yīng)用主線程處理,提升了對用戶拖動邊界線的響應(yīng)速度。
9、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,電子設(shè)備根據(jù)第一視圖的更新結(jié)果更新第二視圖的高度,包括:通過目標(biāo)應(yīng)用的主線程,根據(jù)第一視圖的更新結(jié)果對第二視圖的高度進(jìn)行更新。
10、其中,主線程可以是目標(biāo)應(yīng)用安卓端的主線程。
11、這樣,將畫布邊界線和畫布進(jìn)行解耦,畫布邊界線的更新被筆記應(yīng)用的js(javascript)端線程控制處理,畫布的更新被筆記應(yīng)用的安卓(android)端線程控制處理。
12、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,該方法還包括:在目標(biāo)邊界線被拖動的過程中,通過目標(biāo)應(yīng)用的子線程依次生成多個畫布更新任務(wù),并將多個畫布更新任務(wù)按順序添加至任務(wù)隊(duì)列中;通過目標(biāo)應(yīng)用的主線程,在任務(wù)隊(duì)列中獲取畫布更新任務(wù),并根據(jù)畫布更新任務(wù)對第二視圖的高度進(jìn)行更新。
13、在用戶拖動畫布邊界線的過程中,筆記應(yīng)用的子線程不斷生產(chǎn)畫布高度更新任務(wù)。若每個畫布高度更新任務(wù)都直接傳遞給主線程進(jìn)行處理,會導(dǎo)致主線程任務(wù)繁忙。而且,畫布高度更新任務(wù)的生產(chǎn)速度大于消費(fèi)速度,可能會導(dǎo)致任務(wù)阻塞,也增加了任務(wù)丟失的概率。為此,在筆記應(yīng)用的新增任務(wù)隊(duì)列。筆記應(yīng)用的子線程生產(chǎn)畫布高度更新任務(wù)后,將畫布高度更新任務(wù)放入任務(wù)隊(duì)列中。主線程作為任務(wù)隊(duì)列的消費(fèi)者,在任務(wù)隊(duì)列中讀取畫布高度更新任務(wù)并執(zhí)行畫布高度更新任務(wù)。
14、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,目標(biāo)應(yīng)用的主線程在任務(wù)隊(duì)列中獲取畫布更新任務(wù),并根據(jù)畫布更新任務(wù)對第二視圖的高度進(jìn)行更新,包括:
15、目標(biāo)應(yīng)用的主線程每次在任務(wù)隊(duì)列中獲取多個畫布更新任務(wù),并根據(jù)這多個畫布更新任務(wù)中的最后一個畫布更新任務(wù)對第二視圖的高度進(jìn)行更新。
16、這樣,當(dāng)畫布更新任務(wù)需要頻繁且連續(xù)地執(zhí)行,同時(shí)畫布更新任務(wù)耗時(shí)較長時(shí),依次執(zhí)行這些畫布更新任務(wù)會影響其他ui的更新操作。主線程通過判斷舊的畫布更新任務(wù)是否在等待執(zhí)行,是則可以將其移除,優(yōu)先執(zhí)行新的畫布更新任務(wù),從而提高主線程的利用效率,增強(qiáng)系統(tǒng)對用戶操作的響應(yīng)速度。
17、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,該方法還包括:
18、電子設(shè)備響應(yīng)于停止拖動目標(biāo)邊界線并抬手的操作,通過目標(biāo)應(yīng)用的子線程根據(jù)抬手位置對第一視圖進(jìn)行更新,生成目標(biāo)畫布更新任務(wù);電子設(shè)備通過目標(biāo)應(yīng)用的子線程將目標(biāo)畫布更新任務(wù)傳遞給目標(biāo)應(yīng)用的主線程;電子設(shè)備通過目標(biāo)應(yīng)用的主線程執(zhí)行目標(biāo)畫布更新任務(wù)。
19、這樣,在用戶抬手時(shí),子線程根據(jù)手指抬起的位置更新畫布邊界線視圖,主線程也能根據(jù)最新生成的畫布高度更新任務(wù)對畫布視圖高度進(jìn)行更新,使得畫布邊界線的位置變化以及畫布高度更加符合用戶預(yù)期。
20、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,電子設(shè)備通過目標(biāo)應(yīng)用的子線程根據(jù)抬手位置對第一視圖進(jìn)行更新,包括:目標(biāo)應(yīng)用的子線程根據(jù)手指的當(dāng)前位置,計(jì)算第一視圖的偏移量;目標(biāo)應(yīng)用的子線程根據(jù)第一視圖的偏移限制,對第一視圖的偏移量進(jìn)行校準(zhǔn);目標(biāo)應(yīng)用的子線程根據(jù)校準(zhǔn)后的第一視圖的偏移量,對第一視圖進(jìn)行更新。
21、本實(shí)施例對于基于手指采樣位置計(jì)算得到的畫布邊界線偏移量,進(jìn)行了校準(zhǔn)處理,以避免出現(xiàn)畫布邊界線偏移超出限制的問題,也能避免出現(xiàn)用戶無法準(zhǔn)確拖動畫布邊界線到手寫筆跡最低點(diǎn)或最高點(diǎn)位置處的問題。
22、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,目標(biāo)邊界線為底部邊界線;第二位置高于第一位置;對應(yīng)的,目標(biāo)應(yīng)用的子線程根據(jù)第一視圖的偏移限制,對第一視圖的偏移量進(jìn)行校準(zhǔn),包括:
23、目標(biāo)應(yīng)用的子線程計(jì)算第一視圖的偏移量與第二視圖的當(dāng)前高度的累加和;目標(biāo)應(yīng)用的子線程確定累加和小于第二視圖的最小高度值;最小高度值為第二視圖的當(dāng)前高度與第一高度值的差值,第一高度值為目標(biāo)邊界線的位置與第三位置的差值;第三位置為允許畫布底部邊界線偏移到的下限位置;目標(biāo)應(yīng)用的子線程根據(jù)第一位置,重新計(jì)算第一視圖的偏移量,作為校準(zhǔn)后的第一視圖的偏移量。
24、這樣,在拖動畫布底部邊界線上滑的場景中,能夠避免畫布底部邊界線停留位置超過手寫筆跡最低點(diǎn)的情況。
25、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,第三位置為畫布上手寫軌跡的最低點(diǎn)位置;或者,第三位置為第四位置,第四位置位于最低點(diǎn)位置之下,且第四位置與最低點(diǎn)位置的差值小于預(yù)設(shè)閾值。
26、這樣能夠能避免由于筆跡過粗而導(dǎo)致筆跡最低點(diǎn)被遮蓋的問題。
27、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,目標(biāo)邊界線為底部邊界線;第二位置低于第一位置;對應(yīng)的,目標(biāo)應(yīng)用的子線程根據(jù)第一視圖的偏移限制,對第一視圖的偏移量進(jìn)行校準(zhǔn),包括:目標(biāo)應(yīng)用的子線程計(jì)算第一視圖的偏移量與第二視圖的當(dāng)前高度的累加和;目標(biāo)應(yīng)用的子線程確定累加和小于第二視圖的最大高度值;目標(biāo)應(yīng)用的子線程根據(jù)第二視圖的最大高度值,重新計(jì)算第一視圖的偏移量,作為校準(zhǔn)后的第一視圖的偏移量。
28、這樣,在拖動畫布底部邊界線下滑的場景中,通過畫布最大高度值對畫布底部邊界線的最終位置進(jìn)行限制。
29、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,目標(biāo)邊界線為頂部邊界線;第二位置低于第一位置;對應(yīng)的,目標(biāo)應(yīng)用的子線程根據(jù)第一視圖的偏移限制,對第一視圖的偏移量進(jìn)行校準(zhǔn),包括:
30、目標(biāo)應(yīng)用的子線程計(jì)算第一視圖的偏移量與第二視圖的當(dāng)前高度的累加和;目標(biāo)應(yīng)用的子線程確定累加和小于第二視圖的最小高度值;最小高度值為第二視圖的當(dāng)前高度與第二高度值的差值,第二高度值為第五位置與目標(biāo)邊界線的位置的差值;第五位置為允許畫布頂部邊界線偏移到的上限位置;目標(biāo)應(yīng)用的子線程根據(jù)第五位置,重新計(jì)算第一視圖的偏移量,作為校準(zhǔn)后的第一視圖的偏移量。
31、這樣,在拖動畫布頂部邊界線下滑的場景中,能夠避免畫布底部邊界線停留位置超過手寫筆跡高低點(diǎn)的情況。
32、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,第五位置為畫布上手寫軌跡的最高點(diǎn)位置;或者,第五位置為第六位置,第六位置位于最高點(diǎn)位置之上,且第六位置與最高點(diǎn)位置的差值小于預(yù)設(shè)閾值。
33、這樣能夠能避免由于筆跡過粗而導(dǎo)致筆跡最低點(diǎn)被遮蓋的問題。
34、根據(jù)第一方面,或者以上第一方面的任意一種實(shí)現(xiàn)方式,目標(biāo)邊界線為頂部邊界線;第二位置高于第一位置;對應(yīng)的,目標(biāo)應(yīng)用的子線程根據(jù)第一視圖的偏移限制,對第一視圖的偏移量進(jìn)行校準(zhǔn),包括:目標(biāo)應(yīng)用的子線程計(jì)算第一視圖的偏移量與第二視圖的當(dāng)前高度的累加和;目標(biāo)應(yīng)用的子線程確定累加和小于第二視圖的最大高度值;目標(biāo)應(yīng)用的子線程根據(jù)第二視圖的最大高度值,重新計(jì)算第一視圖的偏移量,作為校準(zhǔn)后的第一視圖的偏移量。
35、這樣,在拖動畫布頂部邊界線上滑的場景中,通過畫布最大高度值對畫布頂部邊界線的最終位置進(jìn)行限制。
36、第二方面,本技術(shù)實(shí)施例提供一種電子設(shè)備。該電子設(shè)備包括:一個或多個處理器;存儲器;以及一個或多個計(jì)算機(jī)程序,其中一個或多個計(jì)算機(jī)程序存儲在存儲器上,當(dāng)計(jì)算機(jī)程序被一個或多個處理器執(zhí)行時(shí),使得電子設(shè)備執(zhí)行第一方面以及第一方面中任意一項(xiàng)的顯示方法。
37、第二方面以及第二方面的任意一種實(shí)現(xiàn)方式分別與第一方面以及第一方面的任意一種實(shí)現(xiàn)方式相對應(yīng)。第二方面以及第二方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果可參見上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果,此處不再贅述。
38、第三方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì)。該計(jì)算機(jī)可讀存儲介質(zhì)包括計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序在電子設(shè)備上運(yùn)行時(shí),使得電子設(shè)備執(zhí)行第一方面以及第一方面中任意一項(xiàng)的顯示方法。
39、第三方面以及第三方面的任意一種實(shí)現(xiàn)方式分別與第一方面以及第一方面的任意一種實(shí)現(xiàn)方式相對應(yīng)。第三方面以及第三方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果可參見上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果,此處不再贅述。
40、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序被運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行如第一方面或第一方面中任意一項(xiàng)的顯示方法。
41、第四方面以及第四方面的任意一種實(shí)現(xiàn)方式分別與第一方面以及第一方面的任意一種實(shí)現(xiàn)方式相對應(yīng)。第四方面以及第四方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果可參見上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果,此處不再贅述。
42、第五方面,本技術(shù)提供了一種芯片,該芯片包括處理電路、收發(fā)管腳。其中,該收發(fā)管腳和該處理電路通過內(nèi)部連接通路互相通信,該處理電路執(zhí)行如第一方面或第一方面中任意一項(xiàng)的顯示方法,以控制接收管腳接收信號,以控制發(fā)送管腳發(fā)送信號。
43、第五方面以及第五方面的任意一種實(shí)現(xiàn)方式分別與第一方面以及第一方面的任意一種實(shí)現(xiàn)方式相對應(yīng)。第五方面以及第五方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果可參見上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式所對應(yīng)的技術(shù)效果,此處不再贅述。