小編給大家分享一下Android如何實(shí)現(xiàn)滑動方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為潼關(guān)企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè),潼關(guān)網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
Android 實(shí)現(xiàn)滑動方法總結(jié)
本文對Android 滑動提供了七種方法,對于每一種實(shí)現(xiàn)方法都進(jìn)行了詳細(xì)介紹,按照需要大家可以參考下,
1.1 用Layout方法
我們知道,當(dāng)view在繪制時會調(diào)用onlayout方法來設(shè)置顯示位置。同樣也可以通過view的left、top, right,buttom 四個屬性來控制view的坐標(biāo)。每次在ontouchevent的時候,我們都要獲取一下觸摸點(diǎn)的坐標(biāo)。
@Override public boolean onTouchEvent(MotionEvent event) { int x = (int) event.getX(); int y = (int) event.getY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: lastX = x; lastY = y; break; case MotionEvent.ACTION_MOVE: int offsetx = (int) (x - lastX); int offsety = (int) (y - lastY); layout(getLeft() + offsetx, getTop() + offsety, getRight() + offsetx, getBottom() + offsety);
//重新獲取偏移量,在獲取絕對坐標(biāo)的時候需要非常注意,因為如果這里不注意的話容易獲取錯誤的坐標(biāo) lastX = x; lastY = y; break; } return true; }
1.2 使用offsetLeftAndRight(),offsetTopAndBottom()
這個只要知道偏移量就可以使用此方法來進(jìn)行寵幸繪畫。相當(dāng)于對左右偏移和上下偏移做了一個封裝。
1.3 使用layoutparms來實(shí)現(xiàn)view的移動
這個要注意的是必須使用父布局類型的layoutpamrs,不然這里將會出錯;當(dāng)然有更簡便的方法,如果使用viewgroup.marginlayoutParams就不需要考慮父控件您的類型了。
1.4 使用scrollyTo和scrollBy來實(shí)現(xiàn)
在view 中,系統(tǒng)提供了scrollyTo和scrollyBy兩個方法來改變view的位置。這兩個方法非常好理解,scrollyto是移動到一個指定的位置,scrollyBy是移動的是view的一個偏移量,他實(shí)際上也調(diào)用了scrollyTo方法。他們只能改變view的內(nèi)容布局,而不能改變view本身的位置,并沒有實(shí)現(xiàn)真正意義上的滑動,他改變的是內(nèi)容的位置。如果在viewgroup中使用它移動的是所有的子view,而在view中使用,他移動的是view的內(nèi)容。還有就是他們的移動都是瞬間完成的,在事件觸發(fā)時就已經(jīng)完成了。
1.5 使用scroller
通過scrooler我們可以平滑的移動view,
1.6屬性動畫
1.7 viewdraghelper
通過viewdragHelper我們基本可以實(shí)現(xiàn)各種動畫操作。但是他的使用方法比較復(fù)雜:
Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由美國Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。
以上是“Android如何實(shí)現(xiàn)滑動方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!