麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 系統(tǒng) > Android > 正文

android開(kāi)發(fā)之橫向滾動(dòng)/豎向滾動(dòng)的ListView(固定列頭)

2020-04-11 12:33:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

由于項(xiàng)目需要,我們需要一個(gè)可以橫向滾動(dòng)的,又可以豎向滾動(dòng)的 表格。而且又要考慮大數(shù)據(jù)量(行)的展示視圖。經(jīng)過(guò)幾天的研究終于搞定,做了一個(gè)演示。貼圖如下:

      

 好吧。讓我們看思路是什么樣的:

 

1. 上下滾動(dòng)直接使用 listView來(lái)實(shí)現(xiàn)。

2. 左右滾動(dòng)使用HorizontalScrollView,來(lái)處理滾動(dòng)。我寫(xiě)一個(gè)類MyHScrollView繼承 自它。

    2.1 . ListView里的每行(row)分為 兩部分,不滾動(dòng)的和可滾動(dòng)的區(qū)域。比如本demo的第一列,就是靜態(tài)的。而后面的所有列都是可以滾動(dòng)的。

    2.2.  我不想自己計(jì)算滾動(dòng)的距離,因?yàn)檫€要處理越界,坐標(biāo)等等。于是我使用 OnTouch事件來(lái)處理。于是我們必須搞懂OnTouch的運(yùn)行機(jī)制。了解 請(qǐng)google it.

    2.3.  列頭 (顯示列名的那一行)是固定的,不會(huì)上下滾動(dòng) 。但可以左右滾動(dòng)。而且它在左右滾動(dòng)時(shí),所有的 數(shù)據(jù)行(row) ,都要與其一起左右滾動(dòng)。那么我們需要監(jiān)聽(tīng) 列頭             (控件)的滾動(dòng)變化消息(事件),并將消息廣播給所有的 數(shù)據(jù)行。這些數(shù)據(jù)行收到消息后,調(diào)整自己的滾動(dòng)條位置以保持和 列頭 的滾動(dòng)距離一致。

3. 那么整個(gè)流程基本是這樣的。 

    3.1, 捕獲 列頭(容器控件,包含固定和可滾動(dòng)控件)的 onTouch事件(拖動(dòng)事件),不處理。而分發(fā)給 “列頭里的 可滾動(dòng)部分的控件”,該控件是一個(gè)HorizontalScrollView的        子類,           當(dāng)它收到這些 拖動(dòng)事件時(shí),就產(chǎn)生了固定的效果

    3.2. 捕獲 數(shù)據(jù)行 區(qū) 的控件(該控件其實(shí)就是ListView控件 )的OnTouch事件,不處理,同樣分發(fā)給  “列頭里的 可滾動(dòng)部分的控件”。 這兩步,就完成了一個(gè)小效果,點(diǎn)擊表      格的頭部和體部都能移動(dòng)(滾動(dòng))行。

    3.3.  我寫(xiě)了一個(gè) HorizontalScrollView的子類,重載 onScrollChanged 方法,該方法在 滾動(dòng)之后執(zhí)行,相當(dāng)于“滾動(dòng)后的事件”,我寫(xiě)了一個(gè)觀察者(設(shè)計(jì)模式)的類。每次       滾動(dòng)后,都通知給 觀察者。觀察者再通知給它的訂閱者(那些需要同時(shí)滾動(dòng)的行里面的 滾動(dòng)控件)。

    3.4.   當(dāng)ListView創(chuàng)建行時(shí),讓這些行都訂閱 上一步 的觀察者。當(dāng) 收到消息后,調(diào)整自身的滾動(dòng)條位置以保持和 列頭 的滾動(dòng)條位置一致。

 代碼比較多,就不貼了。提供代碼下載。

源代碼下載。 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美成人免费电影 | 免费a视频在线观看 | 中国美女一级黄色大片 | 国产精品一区在线观看 | 一级成人黄色片 | 欧美成人性生活片 | 欧洲a级片 | 成人三级黄色片 | 日本精品中文字幕 | 性欧美xxxx极品摘花 | 国产亚洲欧美在线视频 | 欧美人与zoxxxx另类9 | 国产亚洲精品久久久久久网站 | 国产精品一区二区三区99 | 日韩黄色免费观看 | 国产一国产一级毛片视频 | 国产一级毛片a | 久久色网站 | 蜜桃一本色道久久综合亚洲精品冫 | 日韩午夜一区二区三区 | 黄污免费网站 | 视频一区二区国产 | 在线观看av国产一区二区 | 国产精品99久久免费观看 | 91色琪琪电影亚洲精品久久 | www.91在线观看 | 大片毛片| 91精品中文字幕 | 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 麻豆视频国产在线观看 | 国产免费观看电影网站 | 亚洲国产精品久久久久久久久 | 中文在线观看视频 | 成人午夜在线免费观看 | 日韩精品中文字幕在线观看 | 久久久久久久黄色片 | 欧美成人精品不卡视频在线观看 | 小视频成人| 性生活视频网站 | 久久羞羞 | 久久经典 |