两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種Android列表視圖組件的使用方法

文檔序號(hào):9396620閱讀:640來(lái)源:國(guó)知局
一種Android列表視圖組件的使用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Android系統(tǒng)操作領(lǐng)域,尤其涉及一種Android列表視圖組件的使用方法。
【背景技術(shù)】
[0002]目前看新聞或者逛貼吧,首先看到的都是列表顯示的標(biāo)題和摘要,想要看詳細(xì)內(nèi)容需要點(diǎn)擊標(biāo)題進(jìn)而跳轉(zhuǎn)到下一個(gè)Activity才能閱讀,中間有暫時(shí)的停頓,影響閱讀的連貫性和流暢性。而且在閱讀詳細(xì)內(nèi)容時(shí)想要返回到標(biāo)題頁(yè)面也要經(jīng)過(guò)Activity的跳轉(zhuǎn),對(duì)于大屏手機(jī),頻繁的按返回鍵手指需要移動(dòng)較長(zhǎng)的距離。
[0003]在目前的手機(jī)應(yīng)用的文本顯示中,一般是以列表的形式顯示文本的標(biāo)題和摘要,再通過(guò)點(diǎn)擊操作跳轉(zhuǎn)到先一個(gè)Activity實(shí)現(xiàn)文本詳細(xì)內(nèi)容的顯示,若要再次查看標(biāo)題和摘要,需要按返回鍵。以上過(guò)程都是通過(guò)點(diǎn)擊視圖組件或者按鍵實(shí)現(xiàn)文本的預(yù)覽和顯示。操作比較單一,而且在跳轉(zhuǎn)Activity時(shí)會(huì)出現(xiàn)暫時(shí)的停頓,影響閱讀的連貫性。對(duì)于大屏手機(jī)或者休閑的時(shí)候,有些用戶喜歡雙指操作手機(jī),以上方案無(wú)法滿足這類(lèi)用戶的體驗(yàn)。

【發(fā)明內(nèi)容】

[0004]鑒于上述問(wèn)題,本申請(qǐng)記載了一種Android(即安卓操作系統(tǒng))列表視圖組件的使用方法,適用于具有Android系統(tǒng)的智能終端中列表視圖組件,所述方法包括步驟:
[0005]當(dāng)用戶點(diǎn)擊所述智能終端的觸摸屏發(fā)出觸摸事件時(shí),列表顯示組件監(jiān)聽(tīng)所述觸摸事件;
[0006]計(jì)算所述觸摸事件中兩個(gè)觸摸點(diǎn)的位置變化;
[0007]根據(jù)所述位置變化判斷所述列表顯示組件還是列表項(xiàng)顯示組件攔截所述觸摸事件;
[0008]對(duì)所述觸摸事件進(jìn)行相應(yīng)處理。
[0009]較佳的,每個(gè)所述觸摸點(diǎn)包括原始點(diǎn)和結(jié)束點(diǎn);在計(jì)算當(dāng)觸摸事件結(jié)束后兩個(gè)所述觸摸點(diǎn)的位置變化時(shí)包括步驟:
[0010]記錄用戶初次按在所述顯示屏?xí)r上的原始點(diǎn)的位置;
[0011]計(jì)算兩個(gè)所述原始點(diǎn)之間的第一距離;
[0012]記錄用戶離開(kāi)所述顯示屏?xí)r的結(jié)束點(diǎn)的位置;
[0013]計(jì)算兩個(gè)所述結(jié)束點(diǎn)之間的第二距離;
[0014]判斷所述第一距離和所述第二距離的大小,當(dāng)所述第一距離大于所述第二距離時(shí),兩個(gè)所述觸摸點(diǎn)的距離增大;當(dāng)所述第一距離大于所述第二距離時(shí),兩個(gè)所述觸摸點(diǎn)的距離減小。
[0015]較佳的,當(dāng)兩個(gè)所述觸摸點(diǎn)的位置變大且所述列表項(xiàng)顯示組件為可見(jiàn)屬性時(shí),在執(zhí)行步驟對(duì)所述觸摸事件進(jìn)行相應(yīng)處理之前,還需要對(duì)所述觸摸事件是否跨越多個(gè)列表項(xiàng)進(jìn)行判斷。
[0016]較佳的,在對(duì)所述觸摸事件是否跨越多個(gè)所述列表項(xiàng)進(jìn)行判斷的過(guò)程包括步驟:
[0017]判斷兩個(gè)所述原始點(diǎn)和兩個(gè)所述結(jié)束點(diǎn)的是否在同一列表項(xiàng)的位置范圍內(nèi),如果是,則所述觸摸動(dòng)作僅跨越一個(gè)所述列表項(xiàng);否則,所述觸摸動(dòng)作跨越了不止一個(gè)所述列表項(xiàng)。
[0018]較佳的,當(dāng)所述觸摸事件僅跨越了一個(gè)列表項(xiàng),將所述列表項(xiàng)所對(duì)應(yīng)的詳細(xì)內(nèi)容顯示組件的屬性設(shè)置為可見(jiàn)。
[0019]較佳的,在將所述列表項(xiàng)所對(duì)應(yīng)的詳細(xì)內(nèi)容顯示組件的屬性設(shè)置為可見(jiàn)的過(guò)程中包括步驟:
[0020]根據(jù)兩個(gè)所述原始點(diǎn)和兩個(gè)所述結(jié)束點(diǎn)的位置信息判斷所述觸摸動(dòng)作所跨越的所述列表項(xiàng);
[0021]在數(shù)據(jù)庫(kù)中查詢所述列表項(xiàng)所對(duì)應(yīng)的所述詳細(xì)內(nèi)容顯示組件;
[0022]適配器加載所述列表項(xiàng)對(duì)對(duì)應(yīng)的所述詳細(xì)內(nèi)容;
[0023]將所述詳細(xì)內(nèi)容綁定到所述詳細(xì)內(nèi)容顯示組件上。
[0024]較佳的,在將所述列表項(xiàng)所對(duì)應(yīng)的詳細(xì)內(nèi)容顯示組件的屬性設(shè)置為可見(jiàn)后,隱藏除去所述詳細(xì)內(nèi)容顯示組件之外的其它顯示組件。
[0025]較佳的,當(dāng)兩個(gè)所述觸摸點(diǎn)的位置變小且詳細(xì)內(nèi)容顯示組件為的屬性為隱藏時(shí),隱藏所述詳細(xì)內(nèi)容顯示組件,將所述列表項(xiàng)顯示組件設(shè)置為可見(jiàn)。
[0026]較佳的,當(dāng)所述觸摸事件跨越了多個(gè)列表項(xiàng)時(shí),判斷所述觸摸事件錯(cuò)誤,所述智能終端不執(zhí)行任何操作。
[0027]較佳的,當(dāng)所述觸摸事件跨越了多個(gè)列表項(xiàng)時(shí),判斷所述觸摸事件錯(cuò)誤,所述智能終端不執(zhí)行任何操作。
[0028]較佳的,所述觸摸事件包括雙指撥開(kāi)操作和雙指合并操作。
[0029]上述技術(shù)方案具有如下優(yōu)點(diǎn)或有益效果:本發(fā)明的優(yōu)點(diǎn)是對(duì)于大屏手機(jī)或者平板,不方便按返回鍵的情況下,可以通過(guò)雙指在屏幕中間操作完成文本信息的瀏覽和閱讀,不用頻繁的在屏幕中間和返回鍵之間移動(dòng)手指。同時(shí)滿足了喜歡雙指操作用戶的需求,豐富了手指操作的多樣性。
【附圖說(shuō)明】
[0030]參考所附附圖,以更加充分的描述本發(fā)明的實(shí)施例。然而,所附附圖僅用于說(shuō)明和闡述,并不構(gòu)成對(duì)本發(fā)明范圍的限制。
[0031]圖1為本發(fā)明一種Android列表視圖組件的使用方法的總體流程圖;
[0032]圖2為本發(fā)明一種Android列表視圖組件的使用方法中觸摸點(diǎn)位置變化的流程圖;
[0033]圖3為本發(fā)明一種Android列表視圖組件的使用方法中判定觸摸事件后進(jìn)行相應(yīng)處理的流程圖;
[0034]圖4為本發(fā)明一種Android列表視圖組件的使用方法中雙指撥開(kāi)操作的流程圖;
[0035]圖5為本發(fā)明一種Android列表視圖組件的使用方法中雙指合并操作的流程圖。
【具體實(shí)施方式】
[0036]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的Android列表視圖組件的使用方法進(jìn)行詳細(xì)說(shuō)明。
[0037]列表顯示組件包含列表項(xiàng)顯示組件,列表項(xiàng)顯示組件包含標(biāo)題頁(yè)顯示組件和詳細(xì)內(nèi)容顯示組件。列表顯示組件繼承系統(tǒng)顯示組件的ListView,列表項(xiàng)顯示組件繼承自系統(tǒng)的ViewGroup。在布局xml文件里定義列表項(xiàng)顯示組件的結(jié)構(gòu)。列表加載時(shí)由列表適配器從數(shù)據(jù)庫(kù)或者網(wǎng)絡(luò)獲得數(shù)據(jù)并綁定到列表項(xiàng)中,適配器首次生成列表項(xiàng)時(shí)從布局xml文件中的屬性配置列表項(xiàng)組件。在xml里配置的標(biāo)題頁(yè)顯示組件為Visible屬性(可見(jiàn)屬性),即首次打開(kāi)就顯示,而詳細(xì)內(nèi)容顯示組件的屬性配置為Gone (隱藏屬性),即首次打開(kāi)時(shí)默認(rèn)隱藏。配置了這些屬性后,首次打開(kāi)列表顯示組件時(shí),默認(rèn)只顯示列表項(xiàng),隱藏詳細(xì)內(nèi)容。適配器在加載數(shù)據(jù)時(shí)只會(huì)加載標(biāo)題信息并綁定到標(biāo)題顯示組件上,暫時(shí)不對(duì)詳細(xì)內(nèi)容的數(shù)據(jù)進(jìn)行處理。
[0038]本發(fā)明需要用到安卓系統(tǒng)里的android, widget.ListView類(lèi),重寫(xiě)了 ListView的事件攔截監(jiān)聽(tīng)方法,對(duì)觸摸事件進(jìn)行定制化處理。還需要用到列表適配器Adapter,該類(lèi)是視圖和數(shù)據(jù)源之間的橋梁,它的作用有準(zhǔn)備列表需要的數(shù)據(jù)源,將數(shù)據(jù)源綁定到列表的子組件列表項(xiàng)上。最后列表加載該適配器進(jìn)行顯示。布局xml文件是列表中的每一項(xiàng)對(duì)應(yīng)的布局,包含標(biāo)題和默認(rèn)隱藏的詳細(xì)內(nèi)容。文本的標(biāo)題和詳細(xì)內(nèi)容保存在數(shù)據(jù)庫(kù)中。
[0039]列表顯示組件屬于安卓系統(tǒng)組件,它擁有自己的子組件,也就是列表項(xiàng)組件。它們不僅有顯示內(nèi)容信息的功能,還可以對(duì)在其上的操作進(jìn)行監(jiān)聽(tīng)和處理,它利用系統(tǒng)的觸摸事件監(jiān)聽(tīng)接口,注冊(cè)事件監(jiān)聽(tīng)器后,可以監(jiān)聽(tīng)觸摸事件。觸摸事件監(jiān)聽(tīng)器可以監(jiān)聽(tīng)的事件類(lèi)型有多種,包括單點(diǎn)觸摸事件和多點(diǎn)觸摸事件等,本發(fā)明中會(huì)對(duì)多點(diǎn)觸摸事件進(jìn)行處理。多點(diǎn)觸摸事件中,觸摸屏?xí)涗浢總€(gè)點(diǎn)的初始位置和最終位置,也就是點(diǎn)從屏幕上消失時(shí)的位置,在這個(gè)過(guò)程中同時(shí)會(huì)記錄每個(gè)點(diǎn)的實(shí)時(shí)位置。若觸摸事件為兩點(diǎn)且兩點(diǎn)的間距持續(xù)擴(kuò)大,對(duì)應(yīng)雙指撥開(kāi)的操作,此時(shí),列表項(xiàng)顯示組件和列表顯示組件都會(huì)監(jiān)聽(tīng)到該事件,但只能由其中一個(gè)對(duì)該事件進(jìn)行處理。由于該事件是雙指撥開(kāi)操作,程序理解執(zhí)行該事件的主體需要打開(kāi)列表項(xiàng)的內(nèi)容,所以由列表顯示組件攔截并處理該觸摸事件,列表通過(guò)系統(tǒng)提供的接口攔截該事件后,就會(huì)對(duì)事件進(jìn)行相應(yīng)的處理,然后銷(xiāo)毀該事件以阻止其它顯示組件對(duì)其進(jìn)行處理,引起異?,F(xiàn)象。
[0040]如圖1所示,一種Android列表視圖組件的使用方法,適用于具有Android系統(tǒng)的智能終端中列表視圖組件,包括:
[0041]當(dāng)用戶點(diǎn)擊所述智能終端的觸摸屏發(fā)出觸摸事件時(shí),列表顯示組件監(jiān)聽(tīng)所述觸摸事件;
[0042]計(jì)算所述觸摸事件中兩個(gè)觸摸點(diǎn)的位置變化;
[0043]根據(jù)所述位置變化判斷列表顯示組件還是列表項(xiàng)顯示組件攔截所述觸摸事件;
[0044]所述觸摸事件進(jìn)行相應(yīng)處理。
[0045]具體來(lái)說(shuō),所述觸摸事件包括兩種:雙指撥開(kāi)操作和雙指合并操作。當(dāng)用戶發(fā)出雙指撥開(kāi)操作時(shí),即用戶同時(shí)觸摸顯示屏上的兩個(gè)不同點(diǎn)并分別進(jìn)行劃動(dòng)操作,兩個(gè)所述觸摸點(diǎn)之間的距離變大;當(dāng)用戶發(fā)出雙指合并操作時(shí),即用戶同時(shí)觸摸顯示屏上的兩個(gè)不同點(diǎn)并分別進(jìn)行劃動(dòng)操作,兩個(gè)所述觸摸點(diǎn)之間的距離變小。
[0046]如果所述觸摸事件為雙指撥開(kāi)操作,那么列表項(xiàng)顯示組件攔截并處理該觸摸事件,相應(yīng)處理為打開(kāi)列表項(xiàng)所對(duì)應(yīng)的詳細(xì)內(nèi)容顯示組件;如果所述觸摸事件為雙指合并操作,那么列表顯示組件攔截并處理該觸摸事件,相應(yīng)處理為打開(kāi)列表顯示組件。
[0047]列表組件攔截事件后,首先會(huì)對(duì)該事件進(jìn)行進(jìn)一步分析,兩點(diǎn)點(diǎn)觸摸事件中,當(dāng)?shù)谝粋€(gè)點(diǎn)和第二個(gè)點(diǎn)按下去的事件,系統(tǒng)提供的事件監(jiān)聽(tīng)接口會(huì)傳入事件參數(shù),該參數(shù)包含了事件的類(lèi)型和觸摸點(diǎn)的位置等信息,程序可以在點(diǎn)按下去的時(shí)候記錄兩點(diǎn)和位置并計(jì)算兩點(diǎn)之間的距離,保存在進(jìn)程的內(nèi)部變量中。同樣,當(dāng)事件點(diǎn)離開(kāi)觸摸屏?xí)r,程序也記錄相應(yīng)的位置,當(dāng)兩個(gè)點(diǎn)全部離開(kāi)屏幕時(shí),分析對(duì)比觸摸事件發(fā)生和結(jié)束時(shí),兩個(gè)觸摸點(diǎn)之間的位置變化。第一種情況:兩個(gè)觸摸點(diǎn)之間的距離擴(kuò)大,即雙指撥開(kāi)操作;第二種情況:兩個(gè)點(diǎn)之間的距離縮小,即雙指合并操作。列表組件會(huì)定位該事件發(fā)生的具體位置,也就是觸摸事件發(fā)生的那個(gè)列表項(xiàng),這里會(huì)出現(xiàn)幾種情況,當(dāng)觸摸事件跨越多個(gè)列表項(xiàng)時(shí),程序不會(huì)對(duì)該事件進(jìn)行處理,默認(rèn)為無(wú)效操作。只有當(dāng)觸摸事件只發(fā)生在單獨(dú)的一個(gè)列表項(xiàng)時(shí)才會(huì)進(jìn)行處理。對(duì)于雙指撥開(kāi)操作,程序需要顯示列表項(xiàng)的詳細(xì)內(nèi)容,這里需要詳細(xì)內(nèi)容的顯示組件,根據(jù)詳細(xì)內(nèi)容的數(shù)據(jù)類(lèi)型決定組件是用文本顯示組件還是圖片顯示組件等。這個(gè)詳細(xì)內(nèi)容的顯示組件是包含在該列表項(xiàng)組件中的,默認(rèn)情況是隱藏的,只有當(dāng)需要顯示詳細(xì)內(nèi)容時(shí)才會(huì)出現(xiàn)。當(dāng)監(jiān)聽(tīng)到雙指撥開(kāi)操作后,將詳細(xì)
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
贞丰县| 社旗县| 广河县| 湘潭县| 太谷县| 闽清县| 甘肃省| 邮箱| 宾阳县| 彰武县| 宿州市| 滨州市| 贵州省| 昌乐县| 且末县| 深州市| 苏州市| 且末县| 三门峡市| 慈利县| 甘南县| 米林县| 崇信县| 泉州市| 宁津县| 会东县| 怀仁县| 乌拉特后旗| 遵义县| 城口县| 东乌珠穆沁旗| 乌拉特前旗| 瑞昌市| 江西省| 志丹县| 阿坝| 靖远县| 石景山区| 连平县| 永州市| 正宁县|