Android 仿酷狗音樂實現(xiàn)krc歌詞渲染View(高性能)

KRC 格式歌詞UI控件

一,成品展示

krcview 目前仿酷狗音樂app實現(xiàn)了歌詞蠕動、滑動定位等功能,效果如下所示:


krcview.gif

二,使用方式

1.在工程根目錄 build.gradle 文件添加代碼:

allprojects {
    repositories {
            
        maven { url 'https://jitpack.io' }

       }
    }

2. 在app module build.gradle 文件添加代碼:

dependencies {

       implementation 'com.github.censhengde:krcview:$lastVersion'

    }

3. 常用控件屬性或api說明:

xml 部分:

<com.bytedance.krcview.KrcView
            // 當(dāng)前行未唱部分歌詞顏色。
            app:current_line_text_color="@color/white" 
            // 當(dāng)前行已唱部分歌詞顏色。
            app:current_line_highLight_text_color="@color/design_default_color_secondary_variant"
            //  其他未唱部分歌詞顏色。
            app:normal_text_color="@color/white"
            // 歌詞行間距
            app:lineSpace="10dp"
            // 最大歌詞尺寸
            app:max_text_size="18sp"
            // 最小歌詞尺寸
            app:min_text_size="15sp"
            // 單行歌詞最大允許字?jǐn)?shù),超過這個字?jǐn)?shù)則自動換行。
            app:maxWordsPerLine="15"
            // 當(dāng)前行歌詞距離控件頂部的距離。
            app:current_line_top_offset="70dp"
           />

java/kotlin代碼部分:

 // 設(shè)置krc 歌詞數(shù)據(jù)。
 public void setKrcData(List<KrcLineInfo> data);
 // 設(shè)置當(dāng)前歌詞進度。
 public final void setProgress(final long progress);
 // 設(shè)置 LocatedView。note:LocatedView 的垂直中心點與當(dāng)前行歌詞bottom 對齊。
 public void setLocatedView(View view); 
 // 設(shè)置拖拽歌詞監(jiān)聽器。
 public void setOnDraggingListener(@NonNull onDraggingListener listener);

更多api用法詳見:https://github.com/censhengde/krcview

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容