可拖拽的紅點,(仿新版QQ,tab下面拖拽標記為已讀的效果):DraggableFlagView
可拖拽的紅點,(仿新版QQ,tab下面拖拽標記為已讀的效果),拖拽一定的距離可以消失回調。



實現原理:
當根據touch事件的移動,不斷調用onDraw()方法進行刷新繪制。
*注意:這里原來的小紅點稱為紅點A;根據手指移動繪制的小紅點稱為紅點B。
touch事件移動的時候需要處理的邏輯:
1. 紅點A的半徑根據滑動的距離會不斷地變小。
2. 紅點B會緊隨手指的位置移動。
3. 在紅點A和紅點B之間需要用貝塞爾曲線繪制連接區域。
4. 如果紅點A和紅點B之間的間距達到了設置的最大的距離,則表示,這次的拖拽會有效,一旦放手紅點就會消失。
5. 如果達到了第4中情況,則紅點A和中間連接的貝塞爾曲線不會被繪制。
6. 如果紅點A和紅點B之間的距離沒有達到設置的最大的距離,則放手后,紅點B消失,紅點A從原來變小的半徑使用反彈動畫變換到原來最初的狀態
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!