Android如何實(shí)現(xiàn)滑動(dòng)方法

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

創(chuàng)新互聯(lián)建站長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為潼關(guān)企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)潼關(guān)網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Android 實(shí)現(xiàn)滑動(dòng)方法總結(jié)

             本文對(duì)Android 滑動(dòng)提供了七種方法,對(duì)于每一種實(shí)現(xiàn)方法都進(jìn)行了詳細(xì)介紹,按照需要大家可以參考下,

1.1  用Layout方法

   我們知道,當(dāng)view在繪制時(shí)會(huì)調(diào)用onlayout方法來(lái)設(shè)置顯示位置。同樣也可以通過(guò)view的left、top, right,buttom 四個(gè)屬性來(lái)控制view的坐標(biāo)。每次在ontouchevent的時(shí)候,我們都要獲取一下觸摸點(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);
//重新獲取偏移量,在獲取絕對(duì)坐標(biāo)的時(shí)候需要非常注意,因?yàn)槿绻@里不注意的話容易獲取錯(cuò)誤的坐標(biāo) 
    lastX = x; 
    lastY = y; 
 
    break; 
  } 
 
  return true; 
 }

1.2 使用offsetLeftAndRight(),offsetTopAndBottom()

這個(gè)只要知道偏移量就可以使用此方法來(lái)進(jìn)行寵幸繪畫。相當(dāng)于對(duì)左右偏移和上下偏移做了一個(gè)封裝。

1.3 使用layoutparms來(lái)實(shí)現(xiàn)view的移動(dòng)

這個(gè)要注意的是必須使用父布局類型的layoutpamrs,不然這里將會(huì)出錯(cuò);當(dāng)然有更簡(jiǎn)便的方法,如果使用viewgroup.marginlayoutParams就不需要考慮父控件您的類型了。

1.4 使用scrollyTo和scrollBy來(lái)實(shí)現(xiàn)

在view 中,系統(tǒng)提供了scrollyTo和scrollyBy兩個(gè)方法來(lái)改變view的位置。這兩個(gè)方法非常好理解,scrollyto是移動(dòng)到一個(gè)指定的位置,scrollyBy是移動(dòng)的是view的一個(gè)偏移量,他實(shí)際上也調(diào)用了scrollyTo方法。他們只能改變view的內(nèi)容布局,而不能改變view本身的位置,并沒(méi)有實(shí)現(xiàn)真正意義上的滑動(dòng),他改變的是內(nèi)容的位置。如果在viewgroup中使用它移動(dòng)的是所有的子view,而在view中使用,他移動(dòng)的是view的內(nèi)容。還有就是他們的移動(dòng)都是瞬間完成的,在事件觸發(fā)時(shí)就已經(jīng)完成了。

1.5 使用scroller

通過(guò)scrooler我們可以平滑的移動(dòng)view,

1.6屬性動(dòng)畫

1.7 viewdraghelper

通過(guò)viewdragHelper我們基本可以實(shí)現(xiàn)各種動(dòng)畫操作。但是他的使用方法比較復(fù)雜:

Android是什么

Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

以上是“Android如何實(shí)現(xiàn)滑動(dòng)方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站名稱:Android如何實(shí)現(xiàn)滑動(dòng)方法
文章起源:http://bm7419.com/article40/pcidho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、定制網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名