[發明專利]一種水滴下拉刷新實現方法有效
| 申請號: | 201811039919.6 | 申請日: | 2018-09-06 |
| 公開(公告)號: | CN109308148B | 公開(公告)日: | 2022-03-04 |
| 發明(設計)人: | 孫征 | 申請(專利權)人: | 北京酷我科技有限公司 |
| 主分類號: | G06F3/0481 | 分類號: | G06F3/0481;G06F3/0485 |
| 代理公司: | 北京國標律師事務所 11753 | 代理人: | 姚克楓 |
| 地址: | 100080 北京市海淀區農大*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 水滴 下拉 刷新 實現 方法 | ||
1.一種水滴下拉刷新實現方法,其特征在于,包括如下步驟:
定義并實現類WaveView,繼承Android系統提供的View控件,用來繪制波浪及水滴相關特效,
在類WaveView中,具體包括:
繪制波浪相關屬性,包括:
變量mWavePath,是Android系統提供的Path類型的變量,用來保存上部波浪特效的路徑,
繪制水滴相關屬性,包括:
變量mDropCircleRadius,是Android系統提供的浮點數據類型的變量,用來定義水滴圓的半徑,
變量mDropTangentPath,是Android系統提供的Path類型的變量,用來保存水滴上面的三角形的路徑,
變量mDropCirclePath,是Android系統提供的Path類型的變量,用來保存水滴下面的圓的路徑,
變量mDropRect,是Android系統提供的Rect類型的變量,用來保存水滴底部長方形的坐標信息,用來繪制橢圓,
繪制操作相關屬性,包括:
變量mPaint,是Android系統提供的畫筆Paint類型的變量,用來繪制波浪及水滴圖像,
常量DROP_CIRCLE_ANIMATOR_DURATION,是Android系統提供的長整形long類型的常量,用來設置動畫執行的時間,默認值為500毫秒,
重寫波浪視圖中的onDraw方法,用來繪制波浪圖像,水滴狀圖像,
定義beginPhase方法用來計算下拉時的波浪曲線,appearPhase方法用來計算制波浪下拉到一定距離形成水滴的狀態曲線,expandPhase方法用來計算繼續下拉水滴下落時的曲線,
定義方法startDropAnimation,用來控制水滴下落時的動畫效果;
定義并實現類MaterialProgressDrawable,繼承Android系統提供的Drawable類,用來設置一個Material風格的圓形滾動條樣式,用于設置刷新過程中的圓形滾動動畫效果,
定義并實現類AnimationImageView,繼承Android系統提供的圖片展示控件ImageView,用來設置動畫的監聽操作,
定義并實現類ProgressAnimationImageView,繼承自定義類AnimationImageView,用來提供旋轉動畫的自定義控件,
定義并實現類WaveSwipeRefreshLayout,繼承Android系統提供的視圖容器ViewGroup,用來放置可滑動的列表視圖、帶箭頭的圓圈刷新視圖和水滴波浪視圖,用來處理相關觸摸事件,對事件進行攔截和分發,用來刷新動畫狀態的設置、刷新接口的回調;
在類WaveSwipeRefreshLayout中,具體包括:
接口OnRefreshListener和其中的抽象方法onRefresh,用來對刷新中的狀態回調,
枚舉類型STATE,里面有兩個狀態分別是REFRESHING和PENDING,用來表示正在刷新中和準備刷新,
枚舉類型EVENT_PHASE,里面有5中狀態分別是WAITING等待中、BEGINNING出現波浪、APPEARING形成水滴、EXPANDING水滴下沉、DROPPING水滴下落,
變量mState是STATE枚舉類型的變量,初始狀態設置為STATE.PENDING,用來標記刷新的狀態,
變量mEventPhase是EVENT_PHASE枚舉類型的變量,初始值設置為EVENT_PHASE.WAITING,用來標記下拉波浪水滴不同位置的狀態,
變量mTarget是Android系統提供的View類型的變量,用來獲取可以滑動的列表控件,
變量mCircleView是自定義圓形旋轉ProgressAnimationImageView類型的控件,
變量mWaveView是自定義波浪水滴WaveView類型的控件,用來提供波浪水滴等動畫特效,
定義方法createProgressView和createWaveView,用來初始化圓圈和水滴波浪視圖并添加到容器中,
變量mIsBeingDropped,是Android系統提供的布爾數據類型的變量,用來標記是否開始下落,
定義方法onMoveTouchEvent,用來進行滑動事件監聽和相關計算狀態的變化動畫的展示。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京酷我科技有限公司,未經北京酷我科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811039919.6/1.html,轉載請聲明來源鉆瓜專利網。





