真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android自定義布局豎向的ViewPager的實(shí)現(xiàn)-創(chuàng)新互聯(lián)

Android 自定義布局豎向的ViewPager的實(shí)現(xiàn)

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到新羅網(wǎng)站設(shè)計(jì)與新羅網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋新羅地區(qū)。

效果圖:

Android 自定義布局豎向的ViewPager的實(shí)現(xiàn)

這個(gè)自定義控件涉及到的知識(shí)點(diǎn):

自定義ViewGroup中onMeasure和onLayout的寫(xiě)法
彈性滾動(dòng)Scroller的用法
速度軌跡追蹤器VelocityTracker的用法
如何處理滑動(dòng)事件沖突

dispatchTouchEvent:(外部攔截)告訴此ScrollLayout的父布局,什么時(shí)候該攔截觸摸事件,什么時(shí)候不該攔截觸摸事件

onInterceptTouchEvent:(內(nèi)部攔截)ScrollLayout告訴自己什么時(shí)候要攔截內(nèi)部子View的觸摸事件,什么時(shí)候不要攔截內(nèi)部子View的觸摸事件

處理觸摸滑動(dòng)的思路:

  1. 先實(shí)現(xiàn)布局跟著手指的滑動(dòng)而滑動(dòng) scrollBy
  2. 處理好邊界條件(這次的處理邊界,僅適用于低速滑動(dòng)情況下)
  3. 如果是快速滑動(dòng)VelocityTracker,必須再次考慮邊界問(wèn)題(上面考慮的邊界問(wèn)題不適用于快速滑動(dòng)情況)
  4. 如果是低速滑動(dòng),要根據(jù)手指滑動(dòng)方向和布局滑動(dòng)的距離一起做判斷,來(lái)確定,頁(yè)面該滑動(dòng)到那個(gè)頁(yè)面,這里用到了彈性滑動(dòng)Scroller
  5. 難點(diǎn)來(lái)了:算法,
//即確定當(dāng)前顯示的子控件的位置,
//確定彈性滑動(dòng)滑向那個(gè)位置 
if (Math.abs(velocityY) > criticalVelocityY) {//當(dāng)手指滑動(dòng)速度快時(shí),按照速度方向直接翻頁(yè) 
// 重點(diǎn)二、快速滑動(dòng)時(shí),如何判斷當(dāng)前顯示的是第幾個(gè)控件,并且再次包含邊界判斷(必須包含邊界判斷,因?yàn)榍懊娴倪吔缗袛?,只適用于低速滑動(dòng)時(shí)) 
if (shouZhiXiangXiaHuaDong) { 
if (currentPage > 1) {//★★★★★★★★邊界限制,防止滑倒第一個(gè),還繼續(xù)滑動(dòng),注意★(currentPage-2) 
mScroller.startScroll(0, getScrollY(), 0, childHeight * (currentPage - 2) - getScrollY()); 
currentPage--; 
} 
} else { 
if (currentPage < childCount) {//★★★★★★★邊界限制,防止滑倒最后一個(gè),還繼續(xù)滑動(dòng),注意★currentPage 
mScroller.startScroll(0, getScrollY(), 0, childHeight * currentPage - getScrollY()); 
currentPage++; 
} 
} 
Log.e("eee", currentPage + "");

網(wǎng)站名稱(chēng):Android自定義布局豎向的ViewPager的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
文章分享:http://weahome.cn/article/gpocp.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部