1. 程式人生 > >微信炸金花源碼搭建

微信炸金花源碼搭建

font load 從表 用戶 layout 彈性 lB scroller pan

在Android開發中有多種方式實現微信炸金花源碼搭建,常見的有三種如下:

  1. 不斷地修改View的LayoutParams

  2. 采用動畫向View施加位移效果

  3. 調用View的scrollTo( )、scrollBy( )


前兩種方式我們還是挺熟悉的,不但見得挺多的而且還經常使用;至於最後一種微信炸金花源碼搭建方式,可能就要相對陌生些了。

詳細咨詢Q 2171793408 http://wowotouba.com/h5

其實,在Android中我們常見到的ListView、Launcher、SlidingMenu、ViewPager等等這些具有彈性滑動的View的背後都隱藏著一個機智又乖巧的小精靈——Scroller。這些控件的使用場景和作用各不相同,但在它們的內部均廣泛又深刻地使用了Scroller的scrollTo()和scrollBy(),如此的實現不但豐富了操作方式而且極大提升了用戶體驗。


在此,我們從源碼到實例,由簡單到復雜,從表象到機制,一步步走進既陌生卻又有點熟悉的Scroller

scrollTo( )和scrollBy( )

在View的源碼中,系統提供了scrollTo()和scrollBy()這兩個方法用於實現View的滾動。這兩個微信炸金花源碼搭建方法又有什麽聯系呢,我們先來瞅瞅scrollTo()的源碼:


技術分享圖片

scrollTo()是實現View滾動的核心,調用該方法使得View相對於其初始位置滾動某段距離。在該方法內部將輸入參數x,y分別賦值給用於表示View在X方向滾動距離的mScrollX和表示View在Y方向滾動距離的mScrollY,然後調用onScrollChanged()並且刷新重繪View。在後續的操作中調用view.getScrollX()或view.getScrollY()可以很容易地得到mScrollX和mScrollY,關於這兩個值我們再看看源碼是怎麽說的。


關於mScrollX,官方文檔描述如下:


技術分享圖片

關於mScrollY,官方文檔描述如下:

技術分享圖片

mScrollX和mScrollY用於描述View的內容在水平方向或垂直方向滾動的距離。

什麽是View的內容呢?比如,對於一個TextView而言,文本就是它的內容;對於一個ViewGroup而言,子View就是微信炸金花源碼搭建的內容。

故在此,我們請務必註意:scrollTo()和scrollBy()滾動的是View的內容,而不是將View做整體的移動。


嗯哼,繼續看scrollBy()的源碼:


技術分享圖片

哇哈,看到了吧:微信炸金花源碼搭建的源碼非常簡潔,它僅僅是再次調用了scrollTo()。

直白地說:它只是把輸入參數x,y累加到了mScrollX和mScrollY上而已。

所以,scrollBy()方法是在mScrollX和mScrollY的基礎上滾動的。

微信炸金花源碼搭建