Android 實現(xiàn)滑動方法總結
Android 實現(xiàn)滑動方法總結
本文對Android 滑動提供了七種方法,對于每一種實現(xiàn)方法都進行了詳細介紹,按照需要大家可以參考下,
1.1 用Layout方法
我們知道,當view在繪制時會調用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的一個偏移量,他實際上也調用了scrollyTo方法。他們只能改變view的內容布局,而不能改變view本身的位置,并沒有實現(xiàn)真正意義上的滑動,他改變的是內容的位置。如果在viewgroup中使用它移動的是所有的子view,而在view中使用,他移動的是view的內容。還有就是他們的移動都是瞬間完成的,在事件觸發(fā)時就已經完成了。
1.5 使用scroller
通過scrooler我們可以平滑的移動view,
1.6屬性動畫
1.7 viewdraghelper
通過viewdragHelper我們基本可以實現(xiàn)各種動畫操作。但是他的使用方法比較復雜:
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
android studio 3.0 升級 項目遇到的問題及更改思路(問題小結)
Android Studio從3.0版本新增了許多功能,當然首當其沖就是從3.0版本新增了對 Kotlin 開發(fā)語言的支持,除此之外還有其他一些新功能。很多小伙伴在android studio 3.0 升級項目遇到很多問題,下面小編給大家分享一些問題小結及解決辦法,一起看看吧2017-11-11
Android仿淘寶view滑動至屏幕頂部會一直停留在頂部的位置
這篇文章主要介紹了Android仿淘寶view滑動至屏幕頂部會一直停留在頂部的位置的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11
ubuntu上在androidstudio中啟動emulator閃退的解決方法
在AndrodStudio中點擊模擬器的啟動按鈕后,模擬器界面彈出后,又立刻閃退。下面通過本文給大家分享ubuntu上在androidstudio中啟動emulator閃退的解決方法,一起看看吧2017-07-07
android?ViewPager實現(xiàn)一個無限輪播圖
大家好,本篇文章主要講的是android?ViewPager實現(xiàn)一個無限輪播圖,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下2022-02-02

