本文實例為大家分享了Android彈性滑動類Scroller的具體代碼,供大家參考,具體內(nèi)容如下
目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、嘉定網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。Scroller是什么
Scroller就是一個滑動幫助類。它并不可以使View真正的滑動,而是配合scrollTo/ScrollBy讓view產(chǎn)生緩慢的滑動,產(chǎn)生動畫的效果,其實和屬性動畫是同一個原理。在我看來,Scroller跟屬性動畫的平移的效果是一樣的。
如何使用
//①實例一個Scroller,它有三個構(gòu)造方法如下 //public Scroller (Context context) //public Scroller (Context context, Interpolator interpolator)//傳入一個時間插值器 //public Scroller (Context context, Interpolator interpolator, boolean flywheel) Scroller mScroller=new Scroller(context); //②使用Scroller //startScroll()傳入一些參數(shù):開始位置,結(jié)束位置,開始時間滑動到結(jié)束位置的完成時間。 mScrooler.startScroll(int startX,int startY,int endx,int endY,int duration); invalidate();//在ViewGroup中,invalidate()方法會導(dǎo)致computeScroll()方法的執(zhí)行 //③在computeScroll()的方法中判斷:mScroller是否結(jié)束,如果沒有結(jié)束就調(diào)用scrollTo()讓view處于正確的位置 @Override public void computeScroll() { //computeScrollOffset()判斷是否還在滾動,如果還在滾動,會獲取到某一時刻view應(yīng)該所在的位置,刷新Scroller中mCurrX,mCurrY的值,并且return true; if (mScroller.computeScrollOffset()) { scrollTo(mScroller.getCurrX(), mScroller.getCurrY()); //更新界面 postInvalidate(); } super.computeScroll(); }