



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
【移動應用開發(fā)技術】漂亮的Android音樂歌詞控件仿網(wǎng)易云音樂滑動效果
前言:項目有個音樂播發(fā)器功能,實現(xiàn)音樂在線播放,同時需要帶有歌詞顯示功能。網(wǎng)上也找過,在github找到勉強能用的控件,只是效果還是差強人意,不是特別好。于是趁有空的時間,參考了網(wǎng)上的部分demo,自己也寫了個歌詞控件。只要demo可以拉到最底部。一.歌詞控件效果。目前的歌詞控件效果如下:主要效果有以下:1.實現(xiàn)自動滑動切換到下一句。
2.實現(xiàn)滑動歌詞切換播放時間。
3.實現(xiàn)拖動歌詞時仿網(wǎng)易云音樂顯示時間線,將要選擇的歌詞顏色變化。
4.音樂進度跳轉時,歌詞跳轉可以滑動切換。二.歌詞控件實現(xiàn)邏輯說明1.歌詞解析。
歌詞文件問lrc文件,歌詞內(nèi)容格式都是固定的[01:15.33]或者[00:00]這種格式。所以先把歌詞內(nèi)容通過一行一行的讀取,每讀取一行就解析。LrcRow是實現(xiàn)Comparable的類,保存了沒行歌詞的數(shù)據(jù),包括歌詞內(nèi)容、時間,實現(xiàn)Comparable可以通過時間來進行歌詞排序。LrcShowRow是繪制顯示的行數(shù)據(jù),因為讀取的沒行數(shù)據(jù),如果長度過長就可能要通過多行才能顯示完,這時需要截取為多行顯示。2.歌詞繪制a.如果在手勢滑動狀態(tài),繪制時間線b.從第一行數(shù)據(jù)開始繪制,從頭到位將所有行數(shù)據(jù)繪制一遍。注意的是,第一行開始繪制坐標FirstRowPositionY是動態(tài)控制,目的是方便手勢滑動或者執(zhí)行動畫時改變這個坐標就能實現(xiàn)控件滑動效果。繪制過程中需要記錄每一行繪制的Y位置,這個坐標的作用是為了執(zhí)行動畫時計算需要的滑動距離。如果當前行是選中行或者如果當前行是手勢滑動時想要選擇的行,改變?yōu)閷娘@示顏色。c.音樂播放時間跳轉時,查找到歌詞中與跳轉時間最匹配的歌詞,拿到將要選中位置下標TrySelectionPosition,然后執(zhí)行動畫,執(zhí)行動畫時先計算出總共偏移量然后一點點改變FirstRowPositionY偏移位置實現(xiàn)滑動效果。動畫執(zhí)行完成,將選中下標更改為T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河道垃圾清理施工方案
- 外墻保溫真石漆勞務分包合同
- 房屋居間租賃服務合同
- 嘉興拆煙囪施工方案
- 合同協(xié)議生產(chǎn)合同
- 心理學認知過程與個性發(fā)展題庫
- 人力資源行業(yè)數(shù)據(jù)統(tǒng)計表一覽(按職位類型)
- 個人學習成長記錄表
- 吉林壓花地坪施工方案
- 建筑勞務木工班組合同
- 空中乘務職業(yè)教育專業(yè)教學資源庫申報書
- 人教版PEP五年級下冊英語unit1單元復習課件
- 心肌炎病人的護理
- 四川麻將業(yè)余一級考級題庫
- 【人教版】三年級下冊數(shù)學課件《口算乘法》兩位數(shù)乘兩位數(shù)優(yōu)秀(第1課時)
- 《小小理財家》課件PPT
- 《相交線與平行線》復習課一等獎課件
- 部編版四年級語文下冊第3單元大單元整體教學設計課件(教案配套)
- q gw2sjss.65金風風力發(fā)電機組防腐技術rna部分歸檔版
- 廉政建設監(jiān)理實施細則
- 健康證體檢表
評論
0/150
提交評論