Android 仿酷狗音乐实现krc歌词渲染View(高性能)

KRC 格式歌词UI控件

一,成品展示

krcview 目前仿酷狗音乐app实现了歌词蠕动、滑动定位等功能,效果如下所示:


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
            // 当前行未唱部分歌词颜色。
            app:current_line_text_color="@color/white" 
            // 当前行已唱部分歌词颜色。
            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"
            // 单行歌词最大允许字数,超过这个字数则自动换行。
            app:maxWordsPerLine="15"
            // 当前行歌词距离控件顶部的距离。
            app:current_line_top_offset="70dp"
           />

java/kotlin代码部分:

 // 设置krc 歌词数据。
 public void setKrcData(List<KrcLineInfo> data);
 // 设置当前歌词进度。
 public final void setProgress(final long progress);
 // 设置 LocatedView。note:LocatedView 的垂直中心点与当前行歌词bottom 对齐。
 public void setLocatedView(View view); 
 // 设置拖拽歌词监听器。
 public void setOnDraggingListener(@NonNull onDraggingListener listener);

更多api用法详见:https://github.com/censhengde/krcview

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容