小編給大家分享一下Android如何實現(xiàn)滑動方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
公司主營業(yè)務:做網(wǎng)站、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出南丹免費做網(wǎng)站回饋大家。Android 實現(xiàn)滑動方法總結(jié)
本文對Android 滑動提供了七種方法,對于每一種實現(xiàn)方法都進行了詳細介紹,按照需要大家可以參考下,
1.1 用Layout方法
我們知道,當view在繪制時會調(diào)用onlayout方法來設(shè)置顯示位置。同樣也可以通過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),主要使用于移動設(shè)備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領(lǐng)導及開發(fā)。
以上是“Android如何實現(xiàn)滑動方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!