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 。