2018-07-13 14:36:15 1567瀏覽
嵌套滾動在android操作中是google為我們提供一種新特性。從某種角度看可以理解為嵌套滾動是逆向的事件傳遞機制,接下來扣丁學(xué)堂小編就給大家講講詳細的操作方法及其原理,感興趣的小伙伴趕緊來圍觀吧。
publicinterfaceNestedScrollingChild{ /** *設(shè)置是否啟用嵌套滾動 */ publicvoidsetNestedScrollingEnabled(booleanenabled); /** *判斷是否啟用嵌套滾動 */ publicbooleanisNestedScrollingEnabled(); /** *開始嵌套滾動 *@paramaxes標識方向,有x,y方形和默認值0 */ publicbooleanstartNestedScroll(intaxes); /** *嵌套滾動結(jié)束 */ publicvoidstopNestedScroll(); /** *判斷父view是否支持嵌套滾動 */ publicbooleanhasNestedScrollingParent(); /** *分發(fā)嵌套滾動,一般再onTouch/onInterceptTouchEvent/dispatchTouchEvent中調(diào)用 *@paramdxConsumedx軸滾動的距離 *@paramdyConsumedy軸滾動的距離 *@paramdxUnconsumedx軸上未消費的距離 *@paramdyUnconsumedy軸上未消費的距離 *@paramoffsetInWindow子View的窗體偏移 */ publicbooleandispatchNestedScroll(intdxConsumed,intdyConsumed, intdxUnconsumed,intdyUnconsumed,int[]offsetInWindow); /** *滾動之前調(diào)用,進行分發(fā)預(yù)滾動事件 */ publicbooleandispatchNestedPreScroll(intdx,intdy,int[]consumed,int[]offsetInWindow); /** *滑動時調(diào)用,分發(fā)滑動事件 */ publicbooleandispatchNestedFling(floatvelocityX,floatvelocityY,booleanconsumed); /** *滾動之前調(diào)用,分發(fā)預(yù)滾動事件 */ publicbooleandispatchNestedPreFling(floatvelocityX,floatvelocityY); } NestedScrollingParent接口中的方法均是與NestedScrollingChild中的方法一一對應(yīng)的: publicinterfaceNestedScrollingParent{ publicbooleanonStartNestedScroll(Viewchild,Viewtarget,intnestedScrollAxes); publicvoidonNestedScrollAccepted(Viewchild,Viewtarget,intnestedScrollAxes); publicvoidonStopNestedScroll(Viewtarget); publicvoidonNestedScroll(Viewtarget,intdxConsumed,intdyConsumed, intdxUnconsumed,intdyUnconsumed); publicvoidonNestedPreScroll(Viewtarget,intdx,intdy,int[]consumed); publicbooleanonNestedFling(Viewtarget,floatvelocityX, floatvelocityY,booleanconsumed); publicbooleanonNestedPreFling(Viewtarget,floatvelocityX,floatvelocityY); publicintgetNestedScrollAxes(); }
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Android開發(fā)技術(shù)”的相關(guān)資訊>>