1.?在手指滑動(dòng)過(guò)程中,動(dòng)態(tài)獲取滑動(dòng)距離和控件的left ?top right bottom得到四個(gè)點(diǎn)的坐標(biāo) 不斷的 用onlayout( )方法去擺放控件的位置 實(shí)現(xiàn)滑動(dòng)
xml里面就一個(gè)textview ?跟正常的一樣 下面是java代碼


2. 通過(guò)scrollBy( ) 或者scrollTo( )去移動(dòng) ?這兩種是對(duì)自己內(nèi)容的移動(dòng) ?比如我這個(gè)viewgroup里面有個(gè)小球 ?其實(shí)就是讓這個(gè)小球在我這個(gè)viewgroup里面移動(dòng) ?整個(gè)viewgroup是不動(dòng)的
通過(guò)scrollby 不斷的去滑動(dòng) ?scrollby是基于相對(duì)位置進(jìn)行滑動(dòng) 比如 scrollby(10,10); ?第一次滑動(dòng)的時(shí)候是基礎(chǔ)初始坐標(biāo)滑動(dòng)x 10 y 10的距離 ?第二次就是基于第一次滑動(dòng)之后的位置 再滑動(dòng)...e ?估計(jì)還是有人繞,這么說(shuō)吧 ?看下圖

scrollby滑到B點(diǎn) 就是基于A 滑動(dòng)了 scrollBy(10,0); ?//因?yàn)槲覀兪菣M向滑動(dòng) ?y沒(méi)變
滑到C點(diǎn) ?就是基于B 滑動(dòng)了 scrollBy(10,0);
滑到D點(diǎn)? 就是基于C 滑動(dòng)了 scrollBy(20,0);
我們就是通過(guò)這個(gè)原理,在手指拖拽的過(guò)程中 ?不斷的讓他scrollby來(lái)滑動(dòng) 比如 我拖了1毫米 他就滑1毫米 ?我拖2毫米 他就滑2毫米 ?這樣他是不是就一直跟著我手指在動(dòng)了 ?是不是就這樣實(shí)現(xiàn)了整個(gè)滑動(dòng)過(guò)程
實(shí)現(xiàn)方式:自定義類繼承 linearlayout ?在xml中使用的時(shí)候 ?隨便包含一個(gè)控件即可


