小編給大家分享一下Android如何實現(xiàn)滑動方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Android 實現(xiàn)滑動方法總結
本文對Android 滑動提供了七種方法,對于每一種實現(xiàn)方法都進行了詳細介紹,按照需要大家可以參考下,
1.1 用Layout方法
我們知道,當view在繪制時會調(diào)用onlayout方法來設置顯示位置。同樣也可以通過view的left、top, right,buttom 四個屬性來控制view的坐標。每次在ontouchevent的時候,我們都要獲取一下觸摸點的坐標。
@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);//重新獲取偏移量,在獲取絕對坐標的時候需要非常注意,因為如果這里不注意的話容易獲取錯誤的坐標 lastX = x; lastY = y; break; } return true; }
1.2 使用offsetLeftAndRight(),offsetTopAndBottom()
這個只要知道偏移量就可以使用此方法來進行寵幸繪畫。相當于對左右偏移和上下偏移做了一個封裝。
1.3 使用layoutparms來實現(xiàn)view的移動
這個要注意的是必須使用父布局類型的layoutpamrs,不然這里將會出錯;當然有更簡便的方法,如果使用viewgroup.marginlayoutParams就不需要考慮父控件您的類型了。
1.4 使用scrollyTo和scrollBy來實現(xiàn)
在view 中,系統(tǒng)提供了scrollyTo和scrollyBy兩個方法來改變view的位置。這兩個方法非常好理解,scrollyto是移動到一個指定的位置,scrollyBy是移動的是view的一個偏移量,他實際上也調(diào)用了scrollyTo方法。他們只能改變view的內(nèi)容布局,而不能改變view本身的位置,并沒有實現(xiàn)真正意義上的滑動,他改變的是內(nèi)容的位置。如果在viewgroup中使用它移動的是所有的子view,而在view中使用,他移動的是view的內(nèi)容。還有就是他們的移動都是瞬間完成的,在事件觸發(fā)時就已經(jīng)完成了。
1.5 使用scroller
通過scrooler我們可以平滑的移動view,
1.6屬性動畫
1.7 viewdraghelper
通過viewdragHelper我們基本可以實現(xiàn)各種動畫操作。但是他的使用方法比較復雜:
Android是什么Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領導及開發(fā)。
以上是“Android如何實現(xiàn)滑動方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章題目:Android如何實現(xiàn)滑動方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://chinadenli.net/article30/diidpo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、品牌網(wǎng)站建設、外貿(mào)網(wǎng)站建設、動態(tài)網(wǎng)站、全網(wǎng)營銷推廣、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容